门面模式与其他模式的区别

9

我有一个关于设计模式的问题。我对设计模式有很多困惑。你能告诉我门面模式与建造者模式、工厂模式和抽象工厂模式之间的区别吗?

3个回答

6

外观模式用于隐藏实现或以其他方式在外部提供不同的接口。当您想要隐藏构建实例的细节时,使用生成器/工厂模式。


4

外观模式将开发人员所需的细节抽象出来,使代码的某个部分更易于使用。

生成器模式将对象的构建与其表示分离。这样可以在多个类型之间使用相同的构建过程。

工厂和抽象工厂都处理根据调用工厂时使用的某些参数实例化相关类集合的问题。


所以我查了一下 http://www.dofactory.com/Patterns/PatternFacade.aspx#_self1,通常情况下,模式就是这样,我想:我可能在某个地方使用了这种模式,但不知道它叫什么。 - Hamish Grubijan

2
那些模式以及其他模式可能看起来非常相似。区别在于您使用模式的设计决策。
Facade是关于更改某个类或一组类的接口。Builder通过将构建过程分解为较小的步骤来隐藏构建过程。工厂是关于隐藏对象或对象图的具体实现或实例化。
混淆可能来自于事实,即Builder通常以某种方式更改对象的接口,以允许更好的构建方式,这也可以通过Facade完成。与工厂类似。
因此,请不要忘记这些模式实现中的细微差别,最重要的是设计模式是您所做的设计决策。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接