读书人

设计形式(装饰者模式)

发布时间: 2013-09-18 14:17:40 作者: rapoo

设计模式(装饰者模式)

看到字眼,你应该心里有个数了,所谓装饰,就是在原有的基础上加些东西化化装,有修睫毛的,有化口红的,有时尚的衣服等等,然后呢就 变漂亮了;比如礼品,都要加个礼品

盒,然后档次提高了,可以开个好价 ,这也是“装饰”。


装饰者模式有个 需要遵循的原则:开闭原则,即对修改关闭,对扩展开放。


什么情况下需要用到装饰装者模式? 我的理解就是:当我已经提供了一些method,而你要使用我的method,那么你只能在不损坏我的method 的前提下,在我的method的基础


上 进行扩展,也就是覆盖处理。


使用装饰者模式有什么好处? 就是不损坏需要装饰的类,也即保护需要装饰的类。


实例代码:


beverage.java

public class test{    public static void main(String args[]) {       animals a = new dog();       a.bark();  }}


dog,cat都有一个bark的方法,把这个方法提取出来作为一个接口声明。比如说电脑的打印机,电脑提供了USB接口,不论任何打印机只要实现了这个接口,就可以进行打印了,具体怎么实现的,那是打印机厂家的事情了。

如果现在需要cat的bark方法,那么只需要把animals a = new dog();改成 animals a = new cat();即可。如果是针对实现编程 ,那么就是 dog a = new dog(); cat a = new cat();





读书人网 >软件开发

热点推荐