江南白衣 发表于 2013-2-4 20:07:09

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

 原文出处及讨论: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 <class CheckingPolicy>
class SmartPtr : public CheckingPolicy
{...};

typedef SmartPtr<NoChecking> noCheckPtr;
页: [1]
查看完整版本: Modern C++ Design, Spring Framework和Ruby的Mixin....