1

我有一个直接的问题:使用单例模式来控制负责登录任务的类是一个很好的做法,还是更合适的另一种模式?或者不存在做这种操作系统问题的模式?

谢谢。

4

3 回答 3

3

现在很少有人使用单例,因为它们几乎成为反模式。我建议学习依赖注入(DI)

使用 DI,您可以将希望用作单例的对象注册到一个容器中,该容器将提供该对象或将该对象提供给需要它的所有其他对象。当然,您可以将对象注册为单例- 但不是通常的单例 -并且容器将保证所有需要它的对象都会收到相同的实例。

不过,如果您正在构建一个小型应用程序,那么最好使用单例模式并避免 DI。

Jon Skeet 有一篇关于单例模式的非常好的文章,或者如果您使用 Java,那么您可以使用 Enumerations 来实现它,请在 Google 上查看实现技术。

于 2013-08-22T21:39:05.863 回答
0

是和不是。没有“最好”或“更差”的做法。

只要这样做,如果使用单例更容易测试,并且该方法是否能让你更早地进入酒吧,而不是仅仅为了登录目的而学习和实施 DI。

于 2014-09-22T09:01:47.673 回答
0

当您必须防止创建同一类的多个实例时,使用单例模式。我并没有真正看到登录类应该只有一个实例的情况,所以我想说将这种模式用于登录类是矫枉过正的。

再说一次,当你只需要一个简单的单例时引入一个 DI 框架......现在那是矫枉过正 :)

于 2013-08-23T12:50:30.043 回答