
好好学习设计模式之一:外观模式
发布日期:2021-05-14 04:37:11
浏览次数:12
分类:博客文章
本文共 1722 字,大约阅读时间需要 5 分钟。
外观模式,主要就是将系统中原本互相交接的一些功能通过一组简单的接口来进行处理,减少各个模块之间的交互性,降低耦合性能。这样的话,将使得维护非常的容易。
那么,针对外观模式,一个具体的图例效果解释如下:
上面的这个是在没有进行外观模式下的关系图,可以发现,类与类之间的耦合程度非常的高,并且稍显混乱。
下面的这个是利用外观模式进行了分离的结果,可以看出,简洁多了,耦合程度也是大大降低。
那么在具体的编码的时候,应该如何进行设计呢?其实,真正的设计应该是这样的,首先参看下面的具体流程图:
具体的代码如下:
首先是SubSystemOne.cs的具体源码:
using System; namespace FacadeApplication { class SubSystemOne { public void MethodA() { Console.WriteLine( " 这个是方法一! " ); } } }
其次是SubSystemTwo.cs的具体源码:
using System; namespace FacadeApplication { class SubSystemOne { public void MethodA() { Console.WriteLine( " 这个是方法一! " ); } } }
再者就是SubSystemThree.cs的具体源码:
using System; namespace FacadeApplication { class SubSystemThree { public void MethodC() { Console.WriteLine( " 我是方法C!呵呵~~~~ " ); } } }
然后关键就是Façade.cs类的具体实现了:
namespace FacadeApplication { class Facade { SubSystemOne one; SubSystemTwo two; SubSystemThree three; public Facade() { one = new SubSystemOne(); two = new SubSystemTwo(); three = new SubSystemThree(); } public void RunThis() { one.MethodA(); two.MethodB(); } public void RunThat() { two.MethodB(); three.MethodC(); } } }
这样就实现了。
说明一下在什么时候使用外观模式:
首先,在设计初期阶段,应该有意识的将不同的层进行分离。
其次,就是在开发阶段,利用外观模式将一些接口进行组合,以便减少之间的依赖性。
最后,就是在维护系统的时候,精良使用façade模式完成新旧对象的交互。
发表评论
最新留言
留言是一种美德,欢迎回访!
[***.207.175.100]2025年04月28日 01时09分11秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Xception 设计进化
2019-03-08
【Bootstrap5】精细学习记录
2019-03-08
SkyWalking性能剖析
2019-03-08
LeetCode197.打家劫舍
2019-03-08
A simple problem HDU-2522 【数学技巧】
2019-03-08
487-3279 POJ-1022【前导0~思维漏洞】
2019-03-08
Struts2-从值栈获取list集合数据(三种方式)
2019-03-08
Linux之磁盘管理
2019-03-08
vscode中快速生成vue模板
2019-03-08
demo---购物车的多条记录保存(cookie)
2019-03-09
参考图像
2019-03-09
设计模式(18)——中介者模式
2019-03-09
用JavaScript实现希尔排序
2019-03-09
python初学者容易犯的错误
2019-03-09
Qt之QImage无法获取图片尺寸(宽和高)
2019-03-09
推荐几篇近期必看的视觉综述,含GAN、Transformer、人脸超分辨、遥感等
2019-03-09