基于Policy的Class设计, 读后感

多重继承欠缺技术, 模板有丰富的技术. 多重继承缺乏型别姓习, 模板中却大量存在. 模板的特化无法扩张, 多重继承却很容易扩张. 所以, 用这两种技术组合起来, 可以产生非常具弹性的设备.

policy: 是用来定义一个class或class template的接口, 该接口由下列之一或全部组成:内隐型别定义, 成员函数和成员变量.
policy是一种策略, policy需要定义一个接口, 这个接口是所有某类policy所需要实现的, 如果没有实现, 则在模板实例化的时候, 编译器会报告错误.
当一个宿主类派生自一些policy, 那么这个宿主类就可以通过实例化不同的policy具体实现, 来生成设计的多样化.  在设计模式的角度来讲, 非常类似strategy, 但是, 这里是编译期决定的.

书里还介绍了很多使用policy class时候的细节.

不过最有趣的还是组合和设计各种policy. 应该将policy设计为正交的, 即相互之间没有关系, 这样通过在宿主类中使用几种不同的policy, 就可以配置出各种需要的行为, 简直相当于机器为你自动生成代码一样, 即有效, 又灵活.

policy的正交设计, 应该是相当重要的. 

通过在编译期间, 用不同的policy来配置行为, 是从来没有见过的, 大大的拓宽了思路, 宛如一片全新的空间啊.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值