Facade Pattern和其他模式之间的差异

时间:2010-05-03 20:03:32

标签: design-patterns facade

我对模式有疑问。我的设计模式确实存在问题。你能告诉我Facade Pattern和Builder,Factory和Abstract Factory模式之间的区别吗?

3 个答案:

答案 0 :(得分:6)

当您想要隐藏实现或以其他方式在外部提供不同的接口时,将使用外观模式。如果要隐藏构造实例的详细信息,则使用构建器/工厂模式。

答案 1 :(得分:4)

Facade模式将详细信息从开发人员中抽象出来,使代码的某一部分更易于使用。

Builder模式将对象的构造与其表示分开。这样就可以在多种类型中使用相同的构造过程。

Factory和Abstract Factory都处理基于在调用Factory时使用的某些参数来实例化一组相关类。

答案 2 :(得分:2)

这些以及其他模式可能看起来非常相似。不同之处在于您使用模式的设计决策。

Facade是关于改变某些类或一组类的接口。 Builder通过以较小的步骤分解它来隐藏构造过程。工厂是关于隐藏对象或对象图的具体实现或实例化。

混淆可能来自这样一个事实,即Builder在某种程度上通常会改变对象的界面以允许更好的构造方式,这也可以由Facade完成。它与工厂类似。

所以不要忘记这些模式的实现中的细微差别,并且关于设计模式的最重要部分是您做出的设计决策。