门面模式和代理模式区别 2种模式对比分析

设计模式的外观模式(Java实现)小王今天很努力,写了认证里的代码。这时,领导打来电话。小王,到我办公室来一下。小王忐忑不安地走进办公室。领导笑着告诉小王一个好工作,就是让小王成立项目组,做一个领导非常重视的项目“飞天”。小王被任命为项目经理。小王开始了新的工作...

设计模式的外观模式(Java实现)

小王今天很努力,写了认证里的代码。这时,领导打来电话。小王,到我办公室来一下。小王忐忑不安地走进办公室。领导笑着告诉小王一个好工作,就是让小王成立项目组,做一个领导非常重视的项目“飞天”。小王被任命为项目经理。

小王开始了新的工作。首先,他必须选择一个产品经理,然后他必须招聘几名开发和测试工程师。我们来分析一下这个需求,设计类图如下:

设计类图

通过分析,我们需要一个项目的抽象接口和相应的具体实现类,以及一个PM类来处理项目中的其他事情。代码实现如下:

天妃工程设计规范

上面的例子是一个外观设计模式。让我们来看看门面模式的定义:

Facade模式:要求子系统外部和内部的通信必须通过一个统一的对象进行。Facade模式提供了一个高级接口,使得子系统更容易使用。门面模式也称为外观模式。一般的类图如下:

facade模式的通用类图

角色分析,

1.Faceda facade角色:客户端直接与这个facade交互,facade知道子系统的多个功能和职责。

2.子系统子系统,可用于一个或多个子系统。子系统不知道外观的存在。

让我们写一般的代码。首先,我们定义三个子系统:子系统、子系统b和子系统c。

多个子系统

定义另一个facade类来提供外部接口:

类外观

门面模式的优缺点:

1.优点:减少系统间的相互依赖,提高安全性和灵敏度。

2.缺点:不符合开放封闭原则,封闭是为了修改,开放是为了扩展。

门面模式和代理模式的区别:

facade模式为子系统中的一组接口提供了统一的高层接口,简化了系统的使用;

代理模式为其他对象提供代理,以控制对此对象的访问。

本文来自一九九几的她投稿,不代表舒华文档立场,如若转载,请注明出处:https://www.chinashuhua.cn/24/576510.html

打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
() 0
上一篇 06-04
下一篇 06-04

相关推荐

评论列表

联系我们

在线咨询: QQ交谈

邮件:admin@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信