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

 2023-07-18  阅读 1136  评论 0

摘要:设计模式之门面模式(Java实现) 小王今天挺勤奋,在认证的写着代码,这时领导电话来了,小王啊到我办公室来一趟。小王心里忐忑着走进了办公室。领导笑嘻嘻的告诉了小王一个好活,就是让小王组建一个项目组,

设计模式之门面模式(Java实现)

小王今天挺勤奋,在认证的写着代码,这时领导电话来了,小王啊到我办公室来一趟。小王心里忐忑着走进了办公室。领导笑嘻嘻的告诉了小王一个好活,就是让小王组建一个项目组,做一个领导很重视的项目“飞天”,小王被任命为项目经理。

小王开了新的工作,首先要选择一个产品经理,再就是要招几个开发和测试工程师。我们分析下这个需求,设计类图如下:

设计类图

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

飞天项目的设计代码

上面的例子就是一个门面设计模式,我们看看门面模式的定义:

门面模式(Facade Pattern):要求一个子系统的外部与其内部的通信必须通过一个统一的对象进行,门面模式提供一个高层的接口,使得子系统更易于使用。门面模式也叫做外观模式,通用类图如下:

门面模式的通用类图

其中的角色分析,

1、Faceda门面角色:客户端和这个门面直接交互,门面知道子系统的多有功能和责任。

2、Subsystem子系统,可以用于一个或者多个子系统,子系统不知道门面的存在。

我们来写一下通用的代码,首先定义三个子系统SubSystemA,SubSystemB和SubSystemC

多个子系统

再定义一个门面类,对外提供接口:

门面类

门面模式的优缺点:

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

2、缺点:不符开闭原则,对修改关闭,对扩展开放。

门面模式和代理模式的不同:

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

代理模式为其他对象提供一种代理以控制对这个对象的访问。

版权声明:xxxxxxxxx;

原文链接:https://www.fanque.com.cn/aa86dA24LB1dQAw.html

发表评论:

管理员

  • 内容144525
  • 积分0
  • 金币0
关于我们
l番茄知识网是实用的健康养生科普知识及日常生活保健小常识大全网站,分享春夏秋冬四季健康饮食养生保健小知识、运动对健康的好处、中医养生食疗做法等健康的生活方式及养生之道,学习健康养生百科知识尽在番茄健康养生知识网。
快捷菜单
健康养生知识
联系方式
电话:
地址:
Email:admin@qq.com
注册登录
注册帐号
登录帐号

Copyright © 2022 番茄知识网 Inc. 保留所有权利。 Powered by

页面耗时0.1091秒, 内存占用1.84 MB, 访问数据库18次

鄂ICP备2022009988号-2

  • 我要关灯
    我要开灯
  • 客户电话
    807220904

    工作时间:8:00-18:00

    客服电话

    电子邮件

    admin@qq.com

  • 官方微信

    扫码二维码

    获取最新动态

  • 返回顶部