装饰模式

来源:互联网 发布:推广软件有哪些 编辑:程序博客网 时间:2024/06/02 14:45
今天研究了装饰模式的设计,收获不少,对该模式的设计有了点体会,了解了装饰模式的特点:
1 装饰对象要与真实对象有相同的接口;
2 装饰对象必须含有一个真实对象的引用;
3 接收来自客户端的请求后转交给真实对象,在转交前或转交后可以为真实对象添加额外的功能。
装饰模式是什么?感觉挺抽象的,装饰模式就是为一个对象已有的功能添加上更多的功能,让该对象拥有更强大的功能。装饰模式在添加功能的顺序上没有限制。(不过有时顺序的搭配会影响到你的功能)
也许你可以通过下面的例子来理解:
    人都要穿衣服最基本的行为,只是穿得好不好看而已。不同衣服的搭配会有不同的效果,比如一个人穿一身职业装(男性的)来说,首先我们是不是要先穿件背心,再来是穿上一件衬衫,然后打上领带,最后是穿上西装(就上身而言,别跟我说怎么不用穿裤子的吗!哈哈)。对于上面的这个例子,人就是我们所说的真实对象,而这些衣物就是装饰对象,这些衣物的穿着顺序直接影响到你的形象。所以说你在设计装饰模式的时候,顺序还是要考虑点的。(除非你想学超人那样把红色内裤穿在外面)
原创粉丝点击