装饰设计模式
- 定义
动态给一个对象添加一些额外的职责,就象在墙上刷油漆.使用Decorator模式相比用生成子类方式达到功能的扩充显得更为灵活。
- 设计
通常可以使用继承来实现功能的拓展,如果这些需要拓展的功能的种类很繁多,那么势必生成很多子类,增加系统的复杂性,同时,使用继承实现功能拓展,我们必须可预见这些拓展功能,这些功能是编译时就确定了,是静态的。
通俗地讲,就是改写已存在的类的某个方法或某些方法,装饰设计模式(包装模式)。
- 实现步骤
(1)编写一个类,实现与被包装类相同的接口。(具备相同的行为),此步骤的关键是弄清楚开发中你需要尽心包装的是哪一个类。(通过类对象的需求功能可得);
(2)定义一个被包装类类型的变量;
(3)定义构造方法,把被包装类的对象注入,给被包装类变量赋值;
(4)对于不需要改写的方法,调用原有的方法。
(5)对于需要改写的方法,写自己的代码。
专注搬砖,擅长搬砖砸自己的脚~~~
Email:
ltwbuaa@163.com

浙公网安备 33010602011771号