C++中的设计模式整理

最近在看《Effective C++ 的55条建议》和C++源码剖析,把上面提到设计模式在这里做个记录,以备面试之需。

之前的设计模式总结:

设计模式学习笔记(一)(策略、观察者、装饰者、工厂)

设计模式学习笔记(二)(单例、命令、适配器、外观、模板方法)

设计模式学习笔记(三)(迭代器、组合、状态、代理、复合)

 

【1】《Effective C++》条款35,用Non-Virtual Interface实现模板方法模式:

模板方法模式是指,用一个方法函数定义大过程,大过程里面的小过程可以由子类自己实现。

用Non-Virtual Interface实现模板方法模式的实现方法是:定义一个基类,其public函数是大过程,private函数是virtual的小过程(可以不是纯virtual函数,有缺省实现)。

 

【2】《Effective C++》条款35,用Function Pointer实现策略模式:

策略模式是指:某一类(A类)的子类中可能需要变动的行为,独立为行为类,A类中含有该行为类的对象。

其实现方式我并没有理解(捂脸)。

 

【3】《STL源码解析》第八章配接器(适配器)

STL中的配接器(adapter)事实上就是一种设计模式。

STL中的栈和队列都用到了适配器模式,是应用于容器的配接器。

STL中还用到了两种配接器,分别是应用于迭代器的配接器和应用仿函数的配接器。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值