无废话C#设计模式的 2十 2:整理总结(针对GOF23)来源: 发布时间:星期五, 2009年4月3日 浏览:0次 评论:0
本文举例源代码或素材下载
比较 设计模式 常用程度 适用层次 引入时机 结构复杂度 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#设计模式的 2:Singleton 无废话C#设计模式的 3:Abstract Factory 无废话C#设计模式的 4:Factory Method 无废话C#设计模式的 5:Prototype 无废话C#设计模式的 6:Builder 无废话C#设计模式的 7:Adapter 无废话C#设计模式的 8:Facade 无废话C#设计模式的 9:Proxy 无废话C#设计模式的十:Flyweight 无废话C#设计模式的十:Composite 无废话C#设计模式的十 2:Bridge 无废话C#设计模式的十 3:Decorator 无废话C#设计模式的十 4:Template Method 无废话C#设计模式的十 5:Strategy 无废话C#设计模式的十 6:State 无废话C#设计模式的十 7:Chain Of Resp 无废话C#设计模式的十 8:Command 无废话C#设计模式的十 9:Observer 无废话C#设计模式的 2十:Mediator 无废话C#设计模式的 2十:Visitor 0
相关文章读者评论发表评论 |
|