设计模式
yuyuyuck
这个作者很懒,什么都没留下…
展开
-
观察者模式之继承API(ObserverPattern)
Observer模式定义:“定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新”。从这段话里我们可以得到两个信息,如下: 1, 观察者(具体执行操作的对象,有多个) 2, 被观察者(顾名思义是被观察的对象,如果该对象发生某些变化则通知观察者执行对应的操作) 原来在java下面是非常简单的,直接上代码: 观察者A:import转载 2010-01-25 15:56:00 · 229 阅读 · 2 评论 -
设计原则
1、找出应用中可能需要变化之处,把它们独立出来,不要和那些不需要变化的代码混在一起。2、针对接口编程,而不是针对实现编程。3、多用组合,少用基础。(把行为分离,用的时候再组合)4、为了交换对象之间的送耦合而努力。(观察者模式)原创 2010-02-03 16:32:00 · 165 阅读 · 0 评论 -
装饰者模式(Decorator Pattern)
装饰者模式:动态地将责任附加在对象上。若要扩展功能,装饰者提供比继承更有弹性的替代方案。 简单来说,装饰者模式就是一层一层地包裹,其实我们都有用过,就是例如InputStream,上例子: 像这种,就是运用到“装饰者模式”。最内面的一层是实现最简单的内容,然后在一层一层地装饰。ByteArrayOutputStream byteOut = new ByteArrayOutpu原创 2010-02-05 14:25:00 · 220 阅读 · 0 评论 -
观察者模式之自己实现(ObserverPattern)
观察者模式:在对象之间建立一对多的关系,这样一来,当一个对象改变状态,依赖它的对象都会收到通知,并自动更新。 因为继承java.util.Observable和java.util.Observer已经介绍过了,今天我们介绍一个自己实现的观察者模式。上代码: “主题”接口,负责增加、删除“观察者”,还有发布消息。public interface Subject { publi原创 2010-02-04 15:27:00 · 296 阅读 · 0 评论 -
策略模式(Strategy Pattern)
策略模式:定义算法族,分别封装起来,让他们之间可以互相替换,此模式使算法独立于使用算法的客户。 策略模式这个名词可能有点陌生,其实我觉得里面的精粹,我们或多或少都会有用到,就是把改变比较频繁的模块独立出来,或者比较类似,但又一点不同的,独立出来,实现多态。参考《Head First设计模式》,上代码: Duck类,为了实现有多种鸭子,会飞不会飞怎样飞,会叫不原创 2010-02-03 14:56:00 · 217 阅读 · 1 评论 -
工厂模式(Factory Pattern)
工厂模式:定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个。工厂模式让类把实例化推迟到子类。 抽象工厂模式:提供一个接口,用于创建相关或依赖对象的家族,而不需要明确指定具体类。 ok,定义了2个工厂模式,其实都是工厂模式,只是实现上有一点不同,一个是抽象类,一个是接口,它们共同之处都是实现了解耦。这个工厂模式在例子里面比较复杂,而且类比较多,没有图基本上太过复原创 2010-02-11 10:05:00 · 141 阅读 · 0 评论 -
单例模式(Singleton Pattern)
呃。。。Singleton应该很多人都知道吧。偶无聊,就写写看吧。 singleton1:这个效率比较低,适合使用率不高的地方使用。public class Singleton { private static Singleton uniqueInstance; private Singleton() { } public static原创 2010-02-10 09:33:00 · 162 阅读 · 0 评论