c++ 设计模式备忘:

个人通俗理解,分类,方便记忆:

关于如何创建一个对象:即 new 一个 object
工厂方法模式、抽象工厂模式、原型模式、建造者模式、单例模式

关于如何组织各个对象:即各个class之间的关系
适配器模式(两个不相关的之间适配)、外观模式(一个类封装多个类,向外提供简单接口)、组合模式(树状结构的 list of container)、建造者模式(有个成员变量指向其他类的基类)、桥接模式(从耦合的类中分别提取出两个类(Interface & Implementation)各自形成继承体系,然后在两个基类中定义接口联系俩个类,这样继承体系清晰,耦合度低)、装饰模式(单独设计一个类添加某些功能,提供了更加灵活的向对象添加功能的方式)、备忘录模式(设计一个类来保存或者恢复某些状态)、中介者模式(设置一个中介类来传递某些数据)、职责链模式(设置各个级别)、观察者模式(例如:实现数据与表现形式的分离,但是数据变化又要通知所有的表现)

关于优化对象以及简化接口:
代理模式(代理即为指针,利用代理延后对象的创建,提速)享元模式(即提取出共性的元素单独成类,优化对象大小)、外观(FACADE)模式(一个类封装多个类,向外提供简单接口,简化)、

关于如何组织对象的一些行为:
状态模式(通过设计不同的state对象,以切换对象来切换状态以实现不同状态下的context对象不同行为)、策略(strategy)模式(设计统一的算法接口,子类实现不同的算法,使用基类指针指向不同的算法子类)、模板(template)模式(在基类中设计整个算法的框架或流程step1, step2…,子类实现不同的子过程以实现不同的功能)、访问者(visitor)模式(也是将一些根据类型不同而不同的操作放到另一个visitor类中,以避免整个系统难以理解、难以维护和修改,特点就是每个类都有个 accept 函数, 实现双分派)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值