好好学习设计模式之一:外观模式
发布日期: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秒