C产品在市场上有哪些独特优势?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1539个文字,预计阅读时间需要7分钟。
1.+ 概述:动态地为对象添加额外职责,增强功能。装饰模式比生成子类更灵活。+ 原理:通过增加一个装饰类包装原类,以扩展其功能。装饰类继承原类,通常通过将原对象作为参数传递给装饰类。
1. 概述
动态地给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更灵活。
原理:增加一个修饰类包裹原来的类,包裹的方式一般是通过在将原来的对象作为修饰类的构造函数的参数。装饰类实现新的功能,但是,在不需要用到新功能的地方,它可以直接调用原来的类中的方法。修饰类必须和原来的类有相同的接口。
2. 模式中的角色
2.1 抽象构建(Component):定义一个抽象接口,用以给这些对象动态地添加职责。
2.2 具体构建(ConcreteComponent):定义一个具体的对象,也可以给这个对象添加一些职责。
2.3 装饰类(Decorator): 装饰抽象类,继承了Component,从外类来扩展Component类的功能。
2.4 具体装饰者(ConcretorDecorator):负责给构建对象添加职责。
本文共计1539个文字,预计阅读时间需要7分钟。
1.+ 概述:动态地为对象添加额外职责,增强功能。装饰模式比生成子类更灵活。+ 原理:通过增加一个装饰类包装原类,以扩展其功能。装饰类继承原类,通常通过将原对象作为参数传递给装饰类。
1. 概述
动态地给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更灵活。
原理:增加一个修饰类包裹原来的类,包裹的方式一般是通过在将原来的对象作为修饰类的构造函数的参数。装饰类实现新的功能,但是,在不需要用到新功能的地方,它可以直接调用原来的类中的方法。修饰类必须和原来的类有相同的接口。
2. 模式中的角色
2.1 抽象构建(Component):定义一个抽象接口,用以给这些对象动态地添加职责。
2.2 具体构建(ConcreteComponent):定义一个具体的对象,也可以给这个对象添加一些职责。
2.3 装饰类(Decorator): 装饰抽象类,继承了Component,从外类来扩展Component类的功能。
2.4 具体装饰者(ConcretorDecorator):负责给构建对象添加职责。

