装饰模式
基本描述
把类的装饰功能(即功能或者算法)从类里面抽离出来形成一个单独的类,调用的时候把,把核心功能类和装饰功能类相搭配,形成需要的功能类。
基本实例
int main()
{
decorate d1 = decorate("aa");
decorate d2 = decorate("bb");//装饰类
basic_func bf = new basic_func();//核心功能类
bf.decorate(d1);//装饰过程
bf.work();
vs.decorate(d2);
bf.work();
}
总结
在添加功能的时候,只需要实现新的类,在调用的时候装饰上就好了, 不用改变任何原来的代码,满足了开闭原则