【建模】设计模式简要分析

来源:互联网 发布:a1431支持什么网络 编辑:程序博客网 时间:2024/05/16 10:45

1、 中介者模式:每个A派生的子类对象的改变拥有中介者B
2、 装饰模式  B拥有被装饰对象A,B.operation()时,一定会调用到A.operation(),会先调用被装饰对象A的方法,让它先运行,然后自己再运行
3、 观察者模式 B拥有一系列观察者,Observer A观察B时,B的数据发生变化时,B会遍历List<observer>  *pB
4、 适配器模式,就是在本类A中,去使用另外一个库类B,这时A拥有B,A可以用B的接口,完成自己的封装
5、 代理模式,只是在Proxy相对于于要代理类的对象,他们具有相同的接口,防止一开始就使用一个非常庞大的类,所以需要代理,等待时机使用
6、 Facade外观模式,相当于一个编译器,只需要提供一个接口就可以编译文件,但其内部却被屏蔽
7、 状态模式
8、 策略模式
9、 command命令模式,就是 使用command中一个Recevier对象构造一个command,设置它的Recevier,即可交给Recevier处理
10、 备忘录模式
11、 访问者模式
A要访问B,把A的指针传给B,调用B的方法,再回调到A的方法此时传this_B的指针,这样在A中就访问到了B
12、 职责链模式
13、 外观模式(FCADE)
     A持有多个类的对象,这时A可以访问多个类了

二、优点类比

        Factory模式中,相当于如下代码:

A* Create(){      return new A;}

       在各个需要A的对象中,只需要调用Create(),这个函数式公共的,一旦需求改变,只需要改动Create()函数里的对象。同样的道理,全局变量的获取,也是用函数返回的。

参考:0、面向对象设计原则分析

1、23种设计模式UML图

2、在这里23中经典设计模式UML类图汇总

3、设计模式的UML总结

4、23种设计模式uml表示

5、C++设计模式的全实现

6、设计模式—中南大学软件学院设计模式课件

7、刘伟技术博客

8、如何将多种设计模式结合使用(有源代码)

9、《设计模式》课程重点与难点剖析(刘伟)

10、GoF_23种设计模式解析附C++实现源码
11、GoF 23中设计模式——结构型

12、【最新】GOF23种设计模式详解-TONY

13、GoF 23种设计模式解析附C++实现源代码(2nd Edition)

0 0
原创粉丝点击