装饰模式 动态的给一个对象添加一些额外的职责,就增加功能来说,比生成子类更灵活。 装饰模式结构图 代码实现 //基类 class Person { private: string m_strName; public: Person() {} Person(string name) { m_strName = name; } virtual void show() {
学习模式要善于变通,如果只有一个ConcreteComponent类而没有抽象的Component类,那么Decorator类可以是ConcreteComponent的一个子类。 同样道理,如果只有一个ConcreteDecorator类,那么就没有必要建立一个单独的Decorator类,只保留一个ConcreteDecorator类即可。 在这里我们就没必要有C
出处:https://www.cnblogs.com/wyy1234/ 阅读目录 1.装饰者模式介绍 2.小结 回到顶部 1.装饰者模式介绍 装饰者顾名思义就是对一个类添加一些额外的装饰(功能)。我们想给一个对象添加一些额外的功能又不改变对象内方法的签名怎么做呢?最常用的方法就是继承了,子类继承父类,然后
阅读本文大概需要 3.6 分钟。本篇是设计模式系列的第四篇,虽然之前也写过相应的文章,但是因为种种原因后来断掉了,而且发现之前写的内容也很渣,不够系统。所以现在打算重写,加上距离现在也有一段时间了,也算是自己的一个回顾吧!学而时习之,不亦说乎。推荐阅读:从零开始单排学设计模式「UML类