Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Design patterns 立面图案与其他图案的区别_Design Patterns_Facade - Fatal编程技术网

Design patterns 立面图案与其他图案的区别

Design patterns 立面图案与其他图案的区别,design-patterns,facade,Design Patterns,Facade,我有一个关于模式的问题。我在设计模式方面确实有问题。你能告诉我Facade模式和Builder、Factory和Abstract Factory模式之间的区别吗?Facade模式从开发人员那里抽象出细节,并使某些代码更易于使用 生成器模式将对象的构造与其表示分离。这使得跨多个类型使用相同的构造过程成为可能 Factory和Abstract Factory都处理基于调用Factory时使用的某些参数实例化一组相关的类。当您希望隐藏实现或以其他方式在外部提供不同的接口时,将使用facade模式。当您

我有一个关于模式的问题。我在设计模式方面确实有问题。你能告诉我Facade模式和Builder、Factory和Abstract Factory模式之间的区别吗?

Facade模式从开发人员那里抽象出细节,并使某些代码更易于使用

生成器模式将对象的构造与其表示分离。这使得跨多个类型使用相同的构造过程成为可能


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

当您希望隐藏实现或以其他方式在外部提供不同的接口时,将使用facade模式。当您想要隐藏构建实例的细节时,可以使用builder/factory模式。

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

Facade是关于更改某个类或一组类的接口。建筑商通过将施工过程分解成更小的步骤来隐藏施工过程。工厂是关于隐藏对象或对象图的具体实现或实例化

这种混乱可能来自这样一个事实:构建器经常以某种方式更改对象的接口,以允许更好的构造方式,这也可以通过外观来完成。这与工厂类似

因此,不要忘记这些模式实现中的细微差异,设计模式最重要的部分是您所做的设计决策。

因此,我查找了它,与通常的模式情况一样,我想:我可能在不知道它叫什么的情况下在某处使用了该模式。