设计模式的外观模式(Java实现)
小王今天很努力,写了认证里的代码。这时,领导打来电话。小王,到我办公室来一下。小王忐忑不安地走进办公室。领导笑着告诉小王一个好工作,就是让小王成立项目组,做一个领导非常重视的项目“飞天”。小王被任命为项目经理。
小王开始了新的工作。首先,他必须选择一个产品经理,然后他必须招聘几名开发和测试工程师。我们来分析一下这个需求,设计类图如下:
设计类图
通过分析,我们需要一个项目的抽象接口和相应的具体实现类,以及一个PM类来处理项目中的其他事情。代码实现如下:
天妃工程设计规范
上面的例子是一个外观设计模式。让我们来看看门面模式的定义:
Facade模式:要求子系统外部和内部的通信必须通过一个统一的对象进行。Facade模式提供了一个高级接口,使得子系统更容易使用。门面模式也称为外观模式。一般的类图如下:
facade模式的通用类图
角色分析,
1.Faceda facade角色:客户端直接与这个facade交互,facade知道子系统的多个功能和职责。
2.子系统子系统,可用于一个或多个子系统。子系统不知道外观的存在。
让我们写一般的代码。首先,我们定义三个子系统:子系统、子系统b和子系统c。
多个子系统
定义另一个facade类来提供外部接口:
类外观
门面模式的优缺点:
1.优点:减少系统间的相互依赖,提高安全性和灵敏度。
2.缺点:不符合开放封闭原则,封闭是为了修改,开放是为了扩展。
门面模式和代理模式的区别:
facade模式为子系统中的一组接口提供了统一的高层接口,简化了系统的使用;
代理模式为其他对象提供代理,以控制对此对象的访问。
本文来自一九九几的她投稿,不代表舒华文档立场,如若转载,请注明出处:https://www.chinashuhua.cn/24/576510.html