番外:仅供个人学习
装饰模式类图:
ConcreteComponent即为装饰者,Decorator即为装饰器。
特点:装饰者和装饰器都继至同一个父类,并且装饰器还由父类(装饰者或装饰器)组合而成。即装饰器类成员变量一定包含了装饰者或者装饰器本身。
使用:
ConcreteComponent c = new ConcreteComponent();//定义一个装饰者
Concre...
分类:
其他好文 时间:
2015-05-26 09:11:27
阅读次数:
109
当我们希望在运行中增加对象的功能,或者对象的功能可以在运行中改变。比如说订单,当订单中物品的增加,相应的处理流程和计费结果也将变化,所以装饰者模式用于希望能动态改变对象行为的场景中。...
分类:
其他好文 时间:
2015-05-25 18:53:17
阅读次数:
121
本章可以称为“给爱用继承的人一个全新的设计眼界”。我们即将再度探讨典型滥用问题。你将在本章学到如何使用对象组合的方式,做到在运行时装饰类。为什么呢?一旦你熟悉了装饰者的技巧,你将能够在不修改任何底层代码的情况下,给你的(或别人的)对象赋予新的职责。...
分类:
编程语言 时间:
2015-05-25 16:36:22
阅读次数:
151
7种结构型模式:适配器模式、装饰模式、代理模式、外观模式、桥接模式、组合模式、享元模式。其中对象的适配器模式是各种模式的起源首先来看适配器模式适配器模式将某个类的接口转换成客户端期望的另一个接口表示,目的是消除由于接口不匹配所造成的类的兼容性问题。主要分为三类:类的适配器模式、对象的适配器模式、接口...
分类:
其他好文 时间:
2015-05-24 23:06:25
阅读次数:
234
装饰模式:动态地给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成之类更加灵活。装饰模式结构图如下
装饰模式适用场合:当需要给系统添加新的功能时,而这些添加的功能仅仅是为了满足一些只在某种特定情况下才会执行的特殊香味的需要,它把每个装饰的功能放在单独的类中,并让这个类包装它所要装饰的对象,因此,当需要执行特殊香味时,客户端就可以在运行时候根据需要有选择地、按顺序地使用装饰功能包装对象。以...
分类:
其他好文 时间:
2015-05-24 11:37:47
阅读次数:
131
【视频操作】当你使用此效果装饰网页时,出现滚动条无法下拉的情况,是因为悬浮元素加入position:fixed样式之后,已经脱离布局,页面的高度不会把悬浮元素的高度计算在内.比如当前例子,浏览器的可视区域的高度为644px,内容未超过644px,浏览器将不会出现滚动条.我们将top的高度设置为44p...
分类:
其他好文 时间:
2015-05-24 00:04:15
阅读次数:
138
知识点 类应该对扩展开放,对修改封闭。案例 (本故事纯属虚构) 某日早上,流年刚把新开发的游戏项目提交给经理1 public abstract class Role2 {3 public virtual string RoleName { get; privat...
分类:
其他好文 时间:
2015-05-23 00:01:31
阅读次数:
335
接着上文的鸭鸣例子:Java
设计模式 -- 复合模式之一
上文中,我们的鸭鸣实现了 装饰者模式 适配器模式 工厂模式的结合
现在,又需要进行改动了,上文,是可以统计一群鸭子的叫声,现在需要能够观察个别鸭子的行为
引入观察者模式:
任何想被观察的Quackable都必须实现下面的接口
public interface QuackObservable
...
分类:
编程语言 时间:
2015-05-22 21:14:09
阅读次数:
322
1、市场开发业务员获取客户信息2、业务员派单指定给客户经理和设计师3、客户经理录入客户信息4.1、如果客户只是需要设计,就只要签订一个设计立项,再接收设计费用即可4.2、客户交付定金5、设计师设计图纸,制作预算6、客户满意后则签订施工合同,并告知客户缴纳工程前期款7、客户经理将合同交由客服审核,将预...
分类:
其他好文 时间:
2015-05-22 19:07:50
阅读次数:
146
java 装饰器模式转自:http://chenhua-1984.iteye.com/blog/565629(后期整理)Java 记得以前听一个高手说java.io包采用了了装饰器模式,当时不是很明白什么事装饰器模式,现在,网上看了一下说明和帮助的例子,他们的例子是这样的。 定义Decorator装...
分类:
其他好文 时间:
2015-05-21 19:18:11
阅读次数:
112