码迷,mamicode.com
首页 > 其他好文 > 详细

第 6 章 装饰模式

时间:2014-10-07 18:34:23      阅读:164      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   ar   sp   2014   c   on   log   

1:背景介绍——小菜穿衣服

bubuko.com,布布扣

做法1:

定义Person类,依次调用方法

弊端:违背了开放——封闭的原则。

做法2:

定义Person类,定义服饰抽象类,具体类继承抽象类。

弊端:客户端调用重复代码太多,功能没分离开来,不方便添加新的功能。

bubuko.com,布布扣

bubuko.com,布布扣

客户端调用:

bubuko.com,布布扣

需要把所需要的功能按正确的顺序串联起来进行控制

做法3(装饰模式):

动态的给每个对象添加一些额外的职责,就增加功能上来说,装饰模式比生成子类更加方便。

bubuko.com,布布扣

Component是定义一个对象接口,可以给这些对象动态的地添加职责。ConcreteComponent是定义了一个具体的对象,也可以给这个对象添加一些职责。Decorator,装饰抽象类,继承了Component,从外类来扩展Component类的功能,当对于Component来说,是无需知道Decoratro的存在的。至于ConcreteDecorator就是具体的装饰对象,起到给Component添加职责的功能。

bubuko.com,布布扣

bubuko.com,布布扣

bubuko.com,布布扣

bubuko.com,布布扣

bubuko.com,布布扣

bubuko.com,布布扣

bubuko.com,布布扣

bubuko.com,布布扣

bubuko.com,布布扣bubuko.com,布布扣

bubuko.com,布布扣

第 6 章 装饰模式

标签:style   blog   http   ar   sp   2014   c   on   log   

原文地址:http://www.cnblogs.com/wzq806341010/p/4009556.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!