六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 38|回复: 0

Modern C++ Design, Spring Framework和Ruby的Mixin....

[复制链接]

升级  75.55%

819

主题

819

主题

819

主题

探花

Rank: 6Rank: 6

积分
2511
 楼主| 发表于 2013-1-26 15:35:09 | 显示全部楼层 |阅读模式
原文出处及讨论:http://www.blogjava.net/calvin/archive/2005/11/01/17678.html
作者:江南白衣

《Modern C++ Design》里的Policy-Base Class是Cpper得意的一样事情;
Spring 式IoC container 的依赖注入是Javaer得意的一样事情;
Ruby的Mixin特性是Rubyer得意的一样事情。

有趣的是,各自得意的事情,指向的是同一个问题:多重行为的组合。

1 .Policy-Base是混合使用模板与C++的多重继承达成的:
最终类多重继承模版类,由模版传入实际的行为类(Policy Class)。

<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee;">template<classCheckingPolicy>
classSmartPtr : public CheckingPolicy
{...};

typedefSmartPtr
<NoChecking>noCheckPtr;
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表