装饰模式:动态地给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更为灵活。Component是定义一个对象接口,可以给这些对象动态地添加职责。ConcreateComponet是定义了一个具体的对象,也可以给这个对象添加一些职责。Decorator,装饰抽象类,继承了Componen...
分类:
其他好文 时间:
2014-07-30 14:43:44
阅读次数:
186
python中的装饰器可以装饰函数,也可以装饰类,功能是向函数或者类添加一些功能。类似于设计模式中的装饰模式,它可以把装饰器的功能实现部分和装饰部分分开,避免类中或者函数中冗余的代码。
装饰器装饰函数:
def decrator(f1):
def newf():
print "strings will be connected:"
print f1();
return newf;...
分类:
编程语言 时间:
2014-07-28 00:21:15
阅读次数:
299
构造型模式中的适配器模式、外观模式、装饰模式、代理模式都属于包装模式,都是对另外的类或对象的包装,只是各自的意图不同。
适配器模式通过对另外的类或对象的包装,将其接口转换为用户期望的接口,达到接口的适配的目的。
外观模式是对包装的一组类或对象提供一个高层接口,意图是简化接口,使系统更加容易使用。
装饰模式的意图是在不改变包装...
分类:
移动开发 时间:
2014-07-24 23:21:24
阅读次数:
304
子类用的技术都是一样的,那么有必要给他单独定一个子类吗? 这就是装饰模式生成的原因。 class MyBufferReader{ MyBufferedReader(被提高效率的类1 class){} MyBufferedReader(被提高效率的类2 class){} MyBufferedReade...
分类:
其他好文 时间:
2014-07-23 12:11:06
阅读次数:
184
1. 定义:装饰模式以透明的方式,动态地为一个对象(不是类)添加一些额外的功能。又名包装模式(Wrapper);2. 特性:提供了比用继承更灵活的替代方案。3. 设计原则:1). 多用组合,少用继承。利用继承设计子类的行为,是在编译时静态决定的,而且所有的子类都会继承到相同的行为。然而,如果能够利用...
分类:
其他好文 时间:
2014-07-22 22:43:35
阅读次数:
273
动态地给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更为灵活。动态地将责任附加到对象上。若要扩展功能,装饰者提供了比继承更有弹性的替代方案。具体被装饰者和抽象装饰类都继承于抽象被装饰者类,继承的是类型,而不是行为。行为来自装饰者和基础组件,或与其他装饰者之间的组合关系。装饰者通常是...
分类:
其他好文 时间:
2014-07-22 00:35:34
阅读次数:
211
修饰模式是一种动态地往一个对象中添加新的行为的设计模式。继承是对现有类进行扩充,用来增加基类功能,该扩充动作是在编译期完成;而修饰模式是对一个对象进行扩充,从而达到修饰的目的,该修饰动作是在运行期完成。下面是一个用C++编写的关于描述一个人的示例程序,并使用了装饰模式。
#include
#include
using namespace std;
// Component
c...
分类:
其他好文 时间:
2014-07-20 00:30:15
阅读次数:
216
以下内容出自:> Ladies and gentlemen,May I get your attention,Please?,Now I’m going to talk about decoratorpattern.装饰模式在中国使用的那实在是多,中国的文化是中庸文化,说话或做事情都不能太直接,需....
分类:
其他好文 时间:
2014-07-19 21:31:22
阅读次数:
271
import java.text.DecimalFormat; //抽象组件组件interface mkcake{ public void cake();}class Cake implements mkcake{ @Override public void cake() { ...
分类:
编程语言 时间:
2014-07-19 09:16:56
阅读次数:
229