【发布时间】:2013-05-29 13:22:11
【问题描述】:
在命令模式中有一个命令调用程序,用于处理所有进入的命令。在我的情况下,所有命令都应该进入这个调用程序的单个对象,因为我正在管理队列和线程调用程序中的池。让调用者成为单例类是个好主意吗?
【问题讨论】:
-
您是否在调用程序上使用了任何不是单例或生命周期不同的东西(例如:ORM 会话)?
标签: design-patterns
在命令模式中有一个命令调用程序,用于处理所有进入的命令。在我的情况下,所有命令都应该进入这个调用程序的单个对象,因为我正在管理队列和线程调用程序中的池。让调用者成为单例类是个好主意吗?
【问题讨论】:
标签: design-patterns
我会投票反对将其设为 Singleton。起初它可能看起来很有吸引力,但很快就会证明问题多于其价值。
如果将其保留为实例,则可以确保通过构造函数/方法注入在需要它的人之间共享它。这意味着您的设计将更具可测试性,并允许您在未来使用 IoC 容器。
此时这可能显得过度设计,但恕我直言,尽早采用 SOLID 原则会在以后带来可观的红利。
【讨论】: