今天就来写一下装饰者模式,该软考了,也该实习了,感觉心态静不下来,设计模式都是一些简单的小例子,但是看了这么久连简单的了解还没有完全搞定,深感惭愧,还是要安静下来,书中才有颜如玉~ ~ ~不扯了,下边进入正题
一、装饰者模式定义
在不修改原类的基础上,动态地扩展原来的对象的功能,装饰者提供了比继承更有弹性的替代方案:通过创建一个包装对象(装饰对象),来包裹真实的对象
二、装饰...
分类:
其他好文 时间:
2015-05-05 10:42:10
阅读次数:
159
今天就来写一下装饰者模式,该软考了,也该实习了,感觉心态静不下来,设计模式都是一些简单的小例子,但是看了这么久连简单的了解还没有完全搞定,深感惭愧,还是要安静下来,书中才有颜如玉~ ~ ~不扯了,下边进入正题
一、装饰者模式定义
在不修改原类的基础上,动态地扩展原来的对象的功能,装饰者提供了比继承更有弹性的替代方案:通过创建一个包装对象(装饰对象),来包裹真实的对象
二、装饰者模式的特...
分类:
其他好文 时间:
2015-05-05 00:03:45
阅读次数:
224
一、概述
动态地给一个对象添加一些额外的职责。就增加功能来说,Decorator模式相比生成子类更为灵活。
二、适用性
1.在不影响其他对象的情况下,以动态、透明的方式给单个对象添加职责。
2.处理那些可以撤消的职责。
3.当不能采用生成子类的方法进行扩充时。
三、参与者
1.Component 定义一个对象接口,可以给这些对象动态地添加职责。
2.Concret...
分类:
编程语言 时间:
2015-05-04 01:17:41
阅读次数:
204
装饰模式可以在不改变一个对象本身功能的基础上给对象增加额外的新行为。装饰模式是一种用于替代继承的技术,它通过一种无须定义子类的方式来给对象动态增加职责,使用对象之间的关联关系取代类之间的继承关系。在装饰模式中引入了装饰类,在装饰类中既可以调用待装饰的原有类的方法,还可以增加新的方法,以扩充原有类的功能。...
分类:
其他好文 时间:
2015-04-30 18:13:45
阅读次数:
133
装饰模式:动态地给一个对象添加一些额外的职责,就增加功能而言,装饰者模式比生成子类更加灵活。Component是定义一个对象接口,可以给这些对象动态地添加职责,ConcreteComppnent是定义了一个具体的对象,也可以给这个对象添加一些职责,Decorator,装饰抽象类,继承了Component,从外类来扩展Component类的功能,但对于Component来说,是无需知道Decorat...
分类:
其他好文 时间:
2015-04-30 14:17:05
阅读次数:
124
先上uml图:
意图:动态地给一个对象添加一些额外的职责。就增加功能来说,Decorator模式相比生成子类更为灵活。
uml解析:装饰者模式又名包装器,顾名思义就是给某个对象添加一些功能,而不是给整个类添加一些功能。Component跟Decorator是聚合关系,子类ConcreteDecoratorA和ConcreteDecoratorB实现具体对Component的修饰。
下面给出...
分类:
其他好文 时间:
2015-04-29 11:49:52
阅读次数:
122
以下是本人阅读此书时理解的一些笔记,包含一些影响文义的笔误修正,当然不一定正确,贴出来一起讨论。
注:此书剖析的源码是2.5版本,在python.org 可以找到源码。纸质书阅读,pdf 贴图。
文章篇幅太长,故切分成2部分,这是第二部分。
p248: 嵌套函数、闭包和 decorator
co_cellvars: 通常是一个tuple,保存嵌套的作用域内...
分类:
编程语言 时间:
2015-04-28 22:50:28
阅读次数:
264
Python有许多出色的语言特性,装饰器(Decorator)便是其中一朵奇葩。先来看看一段代码:def deco1(f): print 'decorate 1' return fdef deco2(f): print 'decorate 2' return f@deco1@...
分类:
编程语言 时间:
2015-04-24 22:23:21
阅读次数:
228
职责:
动态的为一个对象增加新的功能。
装饰模式是一种用于代替继承的技术,无须通过继承增加之类就能扩展对象的新功能。
使用对象的关联关系代替继承关系,更加灵活,同时避免类型体系的快速膨胀。
实现细节:
Componment抽象构件角色
真实对象和装饰对象有相同的接口。这样,客户端对象能够以真实对象相同的方式同装饰对象交互。
ConcreteComponment...
分类:
编程语言 时间:
2015-04-23 11:04:14
阅读次数:
145
转:http://www.jellythink.com/archives/171#prettyPhoto什么是装饰模式?在GOF的《设计模式:可复用面向对象软件的基础》一书中对装饰模式是这样说的:动态地给一个对象添加一些额外的职责。就增加功能来说,Decorator模式相比生成子类更为灵活。装饰模式...
分类:
其他好文 时间:
2015-04-22 18:00:31
阅读次数:
98