【问题标题】:Initializing the Command Invoker in Command Pattern在命令模式中初始化命令调用程序
【发布时间】:2013-05-29 13:22:11
【问题描述】:

在命令模式中有一个命令调用程序,用于处理所有进入的命令。在我的情况下,所有命令都应该进入这个调用程序的单个对象,因为我正在管理队列和线程调用程序中的池。让调用者成为单例类是个好主意吗?

【问题讨论】:

  • 您是否在调用程序上使用了任何不是单例或生命周期不同的东西(例如:ORM 会话)?

标签: design-patterns


【解决方案1】:

我会投票反对将其设为 Singleton。起初它可能看起来很有吸引力,但很快就会证明问题多于其价值。

如果将其保留为实例,则可以确保通过构造函数/方法注入在需要它的人之间共享它。这意味着您的设计将更具可测试性,并允许您在未来使用 IoC 容器。

此时这可能显得过度设计,但恕我直言,尽早采用 SOLID 原则会在以后带来可观的红利。

【讨论】:

  • 谢谢大卫,我想用最好的设计。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-02
  • 1970-01-01
  • 2011-07-15
  • 1970-01-01
相关资源
最近更新 更多