【发布时间】:2010-09-21 12:09:30
【问题描述】:
作为一名初级开发人员,我对一些设计模式有些困惑。有时,我只是不知道在哪种情况下使用哪个。
例如,关于创建模式,我真的不知道什么时候使用:
- 工厂
- 原型
- 建设者
实际上,我看到了一些差异;但我也看到您可以使用多种解决方案,例如:
- 调用一个工厂,该工厂调用适当的构建器来克隆原型。
- 调用克隆适当原型的工厂
- 调用合适的主管的建设者
- ...
我的意思是,这些创建的结果最终是一样的:你得到你的对象实例。
我只是想知道你会在不同的上下文中使用什么样的设计(我想这可能取决于性能需求、对象复杂性、耦合......)
另外,我看不出 facade 和 mediator 之间有什么大的区别,除了 mediator 调用不同的接口。
责任链也是如此,不太明白为什么我看到的所有实现都使用链表。这种模式不能用我们连续调用的简单的处理程序列表来实现吗?
这就是为什么我希望人们告诉我在哪个具体上下文中您会使用 GoF 模式,以及为什么您不会使用任何其他可能适合的模式给定的问题(但可能以不那么优雅的方式)。
谢谢
【问题讨论】:
-
@org.life.java 我看到这个有点不同,因为他已经提到了各种模式,最关心的是如何决定。
标签: design-patterns language-agnostic oop