学习日记之职责链模式和Effective C++

39 篇文章 0 订阅

职责链模式(Chain of Responsibility):使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这个对象连成一条链,并沿着该条链传递该请求,直到有一个对象处理它为止。


(1),当客户提交一个请求时,请求时沿着链传递直到有一个 ConcreteHandler 对象负责处理它。

(2),接收者和发送者都没有对方的明确信息,切链中的对象自己也不知道链的结构。结果是职责链可简化为对象之间的连接,它们仅需保留一个指向其后继者的引用。而不惜保留它所有的候选接收者的引用。

(3),随时可以增加或处理一个请求的结构,增强了给对象指派职责的灵活性。

(4),一个请求极有可能到了链的末端都得不到处理,或者因为没有得到正确配置而得不到处理。


Effective C++:


1:学习处理模板化基类内的名称

(1),可在 derived class templates 内通过 “this->" 指涉 base class templates 内的成员名称,或藉由一个明白写出的 ”base class 资格修饰符“ 完成。

2:将与参数无关的代码抽离 templates

(1),Templates 生成多个 classes 和多个函数,所以任何 template 代码都不该与某个造成膨胀的 template 参数产生相依关系。

(2),因非类型模板参数而造成的代码膨胀,往往可以消除,做法是以函数参数或 class 成员变量替换 template 参数。

(3),因类型参数而造成的代码膨胀,往往可降低,做法是让带有完全相同二进制表述的具现类型共享实现码。


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值