苹果其实在语言层面为我们做了很多事,比如Category实现装饰模式的意图,target-action实现命令模式意图等等,对于观察者模式,苹果也提供了KVO和通知中心,给开发者提供了极大的遍历。观察着模式即一个对象发出广播,然后某些对象可以在得知这个广播之后做相应的反应。KVO用来监控某个变量,是...
分类:
其他好文 时间:
2014-06-13 13:58:53
阅读次数:
660
类应该对扩展开放, 对修改关闭.所谓装饰者模式,
是指用其他的类来装饰某个类,装饰者说白了就是使用 has-a 来代替 is-a隐喻咖啡店, 有很多种咖啡, 咖啡里还要增加一些 milk, 面包片啊, 等等.
针对加的东西不同, 计算出来的费用不同, 那么我们需要怎么做呢?1. 首先创建一个 cof...
分类:
其他好文 时间:
2014-06-11 13:03:28
阅读次数:
349
java IO
是以文件相对程序的流向定义的javaIO流可分为三类1、输入流,输出流2、字节流,字符流3、节点流,处理流(这里用到了装饰着模式)public class
IOtest { public static void main(String[] args) throws Except...
分类:
编程语言 时间:
2014-06-11 11:41:53
阅读次数:
371
装饰模式:动态的给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更为灵活。简单描述:1一个父类A(主要给各具体装饰者可以设置待装饰对象),1个具体待装饰类(继承于父类A),1个抽象装饰者(继承父类A),多个具体装饰者(继承抽象装饰者)。装饰者持有父类A的引用,每个装饰者在调用方法时都...
分类:
编程语言 时间:
2014-06-11 10:41:02
阅读次数:
323
装饰者模式是很有意思的一种设计模式,你将能够在不修改任何底层代码的情况下,给你的(或别人的)对象赋予新的职责。不是使用继承每回在编译时超类上修改代码,而是利用组合(composition)和委托(delegation)可以在运行时具有继承行为的效果。
代码应该如同晚霞中的莲花一样地关闭(免于改变),如同晨曦中的莲花一样地开放(能够扩展)。
这就是,设计原则之五:类应该对扩展开放,对...
分类:
编程语言 时间:
2014-06-08 17:35:12
阅读次数:
252
*************************************效果:贺卡软件:我行我速4、非常好印、金锋贺卡操作步骤:【获取项目】-【贺卡】-【节日卡片】-【情人节】,替换模板图片调整图片、文字、背景【编辑】-【装饰】-【签名】启动“非常好印”插入图片,添加花边、标题启动“金锋贺卡’【互...
分类:
其他好文 时间:
2014-06-05 15:02:09
阅读次数:
215
装饰者模式是JDK中另一个使用较多的设计模式,上一个是观察者模式(在Swing中大量使用),业内好的API设计无一离不开常见的设计模式,通常我们所说要阅读源码,也是为了学习大牛们的设计思路。————题记
设计模式
观察者模式:定义了对象之间一对多的依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会受到通知并自动更新。
装饰者模式:动态地将责任附加到对象上。若要扩展功能,装饰者提...
分类:
其他好文 时间:
2014-06-02 05:31:47
阅读次数:
234
装饰模式的目的是为了给一个对象动态的增加一些功能。装饰对象和被装饰的对象实现同一个接口,装饰对象持有被装饰对象的实例。类图:示意性代码:package
com.javadesignpattern.Decorator;public interface Component { void s...
分类:
其他好文 时间:
2014-06-01 17:06:22
阅读次数:
338