我有一个关于模式的问题。我对设计模式真的有问题。你能告诉我Facade模式和Builder,Factory和Abstract Factory模式的区别吗?
发布于 2010-05-04 04:07:40
当您想要隐藏实现或以其他方式使不同的接口在外部可用时,可以使用facade模式。当您想要隐藏构造实例的细节时,可以使用构建器/工厂模式。
发布于 2010-05-04 04:07:24
外观模式将细节从开发人员中抽象出来,并使代码的某一部分更易于使用。
Builder模式将对象的构造与其表示分离。这使得在多个类型中使用相同的构造过程成为可能。
Factory和Abstract Factory都是根据调用Factory时使用的某些参数来实例化一组相关的类。
发布于 2010-05-04 07:33:44
这些模式以及其他模式通常看起来非常相似。不同之处在于您使用模式的设计决策。
Facade是关于更改某个类或一组类的接口的。Builder通过将其分解成较小的步骤来隐藏构造过程。工厂是关于隐藏对象或对象图的具体实现或实例化。
混淆可能来自这样一个事实,即通常Builder在某种程度上改变了对象的接口,以允许更好的构造方式,这也可以通过外观来完成。这与工厂类似。
因此,不要忘记这些模式的实现之间的细微差别,关于设计模式最重要的部分是您所做的设计决策。
https://stackoverflow.com/questions/2760843
复制相似问题