C++模式设计之GOF-23模式分类

GOF-23模式分类

从目的来看:

 创建型(Creational)模式:将对象的部分创建工作延迟到子类或者其他对象,从而应对需求变化为对象创建时具体类型实现引来的冲击。
 结构型(Structural)模式:通过类继承或者对象组合获得更灵活的结构,从而应对需求变化为对象的结构带来的冲击。
 行为类型(Behavioral)模式:通过类继承或者对象组合来划分类与对象间的职责,从而应对需求变化为多个交互的对象带来的冲击。

从范围来看:

 类模式处理类与子类的静态关系
 对象模式处理对象间的动态关系。

从封装变化角度对模式分类

组件协作:

 Template Method
 Observer/Event
 Strategy

单一职责

 Decorator
 Bridge

对象创建:

 Factory Method
 Abstract Factory
 Prototype
 Builder

对象性能:

 Singleton
 Flyweight

接口隔离:

 Façade
 Proxy
 Mediator
 Adapter

状态变化:

 Memento
 State

数据结构:

 Composite
 Iterator
 Chain of Resposibility

行为变化:

 Command
 Visitor

邻域问题:

 Interpreter

重构获得模式 Refactoring to Patterns

 面向对象设计模式是“好的面向对象设计”,所谓“好的面向对 象设计”指是那些可以满足 “应对变化,提高复用”的设计 。

 现代软件设计的特征是“需求的频繁变化”。设计模式的要点是 “寻找变化点,然后在变化点处应用设计模式,从而来更好地应对 需求的变化”.“什么时候、什么地点应用设计模式”比“理解设 计模式结构本身”更为重要。

 设计模式的应用不宜先入为主,一上来就使用设计模式是对设计 模式的最大误用。没有一步到位的设计模式。敏捷软件开发实践提倡的“Refactoring to Patterns”是目前普遍公认的最好的使用设计模式的方法。

推荐图书

在这里插入图片描述

重构关键技法

 静态→动态

 早绑定→晚绑定

 继承→组合

 编译时依赖→运行时依赖

 紧耦合→松耦合

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值