快捷搜索:  as  2018  FtCWSyGV  С˵  test  xxx  Ψһ  w3viyKQx

和记怡情娱:无废话C设计模式之二十二:总结(针对GOF23)



本文示例源代码或素材下载

对照

设计模式

常用程度

适用层次

引入机会

布局繁杂度

Abstract Factory

对照常用

利用级

设计时

对照繁杂

Builder

一样平常

代码级

编码时

一样平常

Factory Method

很常用

代码级

编码时

简单

Prototype

不和记怡情娱太常用

利用级

编码时、重构时

对照简单

Singleton

很常用

代码级、利用级

设计时、编码时

简单

Adapter

一样平常

代码级

重构时

一样平常

Bridge

一样平常

代码级

设计时、编码时

一样平常

Composite

对照常用

代码级

编码时、重构时

对照繁杂

Decorator

一样平常

代码级

重构时

对照繁杂

Facade

很常用

利用级、构架级

设计时、编码时

简和记怡情娱单

Flyweight

不太常用

代码级、利用级

设计时

一样平常

Proxy

对照常用

利用级、构架级

设计时、编码时

简单

Chain of Resp.

不太常用

利用级、构架级

设计时、编码时

对照繁杂

Command

对照常用

利用级

设计时、编码时

对照简单

Interpreter

不太常用

利用级

设计时

对照繁杂

Iterator

一样平常

代码级、利用级

编码时、重构时

对照简单

Mediator

一样平常

利用级、构架级

编码时、重构时

一样平常

Memento

一样平常

代码级

编码时

对照简单

Observer

对照常用

利用级、构架级

设计时、编码时

对照简单

State

一样平常

利用级

设计时、编码时

一样平常

Strategy

对照常用

利用级

设计时

一样平常

Template Method

很常用

代码级

编码时、重构时

简单

Visitor

一样平常

利用级

设计时

对照繁杂

注:常用程度、适用层次、应用机会等基于自己的理解,布局繁杂度基于C#说话,表格中所有内容仅供参考。

原则、变更与实现

设计模式

变更

实现

表现的原则

Abstract Factory

产品家族的扩展

封装产品族系列内容的创建

开闭原则

Builder

工具组建的变更

封装工具的组建历程

开闭原则

Factory Method

子类的实例化

工具的创建事情延迟到子类

开闭原则

Prototype

实例化的类

封装对原型的拷贝

依附颠倒原则

Singleton

独一实例

封装工具孕育发生的个数

Adapter

工具接口的变更

接口的转换

Bridge

工具的多维度变更

分离接口以及实现

开闭原则

Composite

繁杂工具接口的统一

统一繁杂工具的接口

里氏代换原则

Decorator

工具的组合职责

在稳定接口上扩展

开闭原则

Facade

子系统的高层接口

封装子系统

开闭原则

Flyweight

系统开销的优化

封装工具的获取

Proxy

工具造访的变更

封装工具的造访历程

里氏代换原则

Chain of Resp.

工具的哀求历程

封装工具的责任范围

Command

哀求的变更

封装行径对工具

开闭原则

Interpreter

领域问题的变更

封装特定领域的变更

Iterator

工具内部聚拢的变更

封装工具内部聚拢的应用

单一职责原则

Mediator

工具交互的变更

封装工具间的交互

开闭原则

Memento

状态的帮助保存

封装工具状态的变更

接口隔离原则

Observer

通讯工具的变更

封装工具看护

开闭原则

State

工具状态的变更

封装与状态相关的行径

单一职责原则

Strategy

算法的变更

封装算法

里氏代换原则

Template Method

算办法步骤的变更

封装算法布局

依附颠倒原则

Visitor

工具操作变更

封装工具操作变更

开闭原则

进修

l         掌握设计模式的意图以及办理的问题

l         掌握设计模式所封装的变更点以及优毛病

l         懂得设计模式的布局图以及各角色的职责

l         项目中是否利用了设计模式不紧张,紧张的是设计模式是否精确利用

l         项目中利用的设计模式和GOF设计模式的布局是否同等不紧张,紧张的是是否从这个布局中自得

l         不管用了照样没有用设计模式,假如违抗了原则,便是不恰当的设计

l         没有设计模式是万能的,陷溺于得到一个办理规划的话可能会导致项目布局繁杂、代码可读性差、并且造成项目和记怡情娱延期

停止语

l         常用的GOF 23种设计模式先容完了,这才是动身点。

l         本系列文章并没有停止,关注之后非GOF 23种设计模式的相关文章。

l         假如适当运用C# 2.0一些有用的特点(分外是代理、泛型以及分部类和设计模式关联对照大年夜)的话,传统的设计模式有异常大年夜的改进的余地。在实际运用的历程中,优先斟酌适用说话特点,假如不可再去斟酌适用设计模式。

l         迭代器模式(在C# 2.0中实现异常简单)、说冥器模式(利用面异常小,自己也没有整明白)以及备忘录模式(对照简单,没有什么可说的)没有零丁立文先容,但在代码包中包孕了响应的例子。

系列文章:

无废话C#设计模式之一:开篇

无废话C#设计模式之二:Singleton

无废话C#设计模式之三:Abstract Factory

无废话C#设计模式和记怡情娱之四:Factory Method

无废话C#设计模式之五:Prototype

无废话C#设计模式之六:Builder

无废话C#设计模式之七:Adapter

无废话C#设计模式之八:Facade

无废话C#设计模式之九:Proxy

无废话C#设计模式之十:Flyweight

无废话C#设计模式之十一:Composite

无废话C#设计模式之十二:Bridge

无废话C#设计模式之十三:Decorator

无废话C#设计模式之十四:Template Method

无废和记怡情娱话C#设计模式之十五:Strategy

无废话C#设计模式之十六:State

无废话C#设计模式之十七:Chain Of Resp

无废话C#设计模式之十八:Command

无废话C#设计模式之十九:Observer

无废话C#设计模式之二十:Mediator

无废话C#设计模式之二十一:Visitor

您可能还会对下面的文章感兴趣: