您的位置:首页 > 其它

自己对装饰者模式的理解

2017-02-09 14:12 225 查看
1. 定义:动态地将责任附加到对象上若要扩展功能,装饰者提供了比继承更有弹性的替代方案

2. 实现方式:

装饰者继承于需要装饰类的抽象父类,并实现所需的方法,通过这样实现类型匹配。

并有一个该抽象父类的数据成员,通这个来保证原有的实现。

3. 体现的OO原则:

针对接口口编程,不针对实现编程:

在使用组合上使用的抽象父类,提高了扩展性

多用组合,少用继承:

采用组合和委托的方式,使其在运行中也能够动态添加新的功能

封装变化:

变化的是类功能的改变,采用观察者模式可以允许改类的功能扩展,但是却没有修改本身的类

开闭原则:

对修改封闭,对扩展开放对于被装饰的类来说,它因为需求的更改而扩展功能,采用装饰者模式,可以让它自身不用被修改,通过包装的形式,在它原有的基础上添加

4. 装饰者会产生很多小的对象,过度使用会造成复杂

5. 装饰者一般来说对使用者来说是透明的,除非使用者依赖于某特殊的具体类型
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息