摘要: 1. 装饰者模式的详解 装饰者模式动态地将责任附加到对象上。若要扩展功能,装饰者提供了比继承更有弹性 的替代方案。 装饰者模式设计类之间的关系: 其中Component是一个超类,ConcreteComponen是被装饰者,Decorator是装饰者,装饰者和被装饰者有共同的超类Component,但是此时我们发现Decorator和Component还有另外一条线,这条线表示Decorator还要组合Component。 在我看来装饰的模式中这几个类的主要作用如下: 首先我们看一个这样的现象(这个是我在网上看到的例子,我把它引入进来主要是方便谈谈我的理解) 现象描述: 如果说继承里的超类是一 阅读全文
posted @ 2014-03-11 22:26 漠野飞鹰 阅读(276) 评论(0) 推荐(0) 编辑
摘要: 1:装饰模式说明:Component是接口,ConcreteComponent是其实现类,Decorator是装饰器抽象类(包含了一个private的Component属性)看类图,Component是一个接口或者是抽象类,就是定义我们最核心的对象,也就是最原始的对象,比如上面的成绩单,记住在装饰模式中,必然有一个被提取出来最核心、最原始、最基本的接口或抽象类,就是Component。ConcreteComponent这个事最核心、最原始、最基本的接口或抽象类的实现,你要装饰的就是这个东东。Decorator一般是一个抽象类,做什么用呢?实现接口或者抽象方法,它里面可不一定有抽象的方法呀,在它 阅读全文
posted @ 2014-03-11 10:52 漠野飞鹰 阅读(474) 评论(0) 推荐(0) 编辑
摘要: 一般不讨论策略模式和代理模式的区别,都是讨论代理模式和装饰模式的区别,策略模式和模板模式的区别模式主要实现就分两大类:基于继承(比如模板模式),基于组合(比如策略模式,代理,,)还有一些简单的,基于正常人的常识,比如门面模式等 阅读全文
posted @ 2014-03-11 10:01 漠野飞鹰 阅读(144) 评论(0) 推荐(0) 编辑