门面模式与单例模式,工厂模式不同,它是一种结构型模式。
- 结构型模式是一种能够简化设计工作的模式,它能找出更简单的方法来认识或表示实体之间的关系。
- 结构型模式是类和对象模式的综合体。类模式通过继承来描述抽象,从而提供更有用的程序接口,而对象模式描述了如何将对象联系起来从而组合成更大的对象。
门面设计模式的理解:
它为子系统中的一组接口提供一个统一的接口,并定义一个高级接口来帮助客户端通过更简单的方式使用子系统。
门面所解决的问题是,如何用单个接口对象来表示复杂的子系统,它实际上并不是封装子系统,而是对底层子系统进行组合。
它促进实现子系统与客户端的解耦。
简答理解为:客户端给门面发送消息。门面给系统分配任务。
class Client(): def order(self): Waiter().make_set_meal1() class Waiter(): def make_set_meal_1(self): Coke().make() Hamburger().make() French_fries().make() class Coke(): def make(self): print('making coke') class Hamburger(): def make(self): print('making hamburger') class French_fries(): def make(self): print('making french fries') you=Client() you.order() ''' making coke making hamburger making french fries “”‘