
设计模式
Peppe520
这个作者很懒,什么都没留下…
展开
-
观察者模式
java 提供Observable 抽象类和observer接口为开发者实现观察者模式提供便利,下面是一个例子。 观察者import java.util.*; public class myobserver implements Observer{ private int id; private static int count=0; public myobserver(Ob原创 2015-07-13 20:09:45 · 234 阅读 · 0 评论 -
代理模式
概念 为另一个对象提供一个替身以控制对该对象的访问 作用 远程代理控制访问远程对象 保护代理控制对资源的访问权限 虚拟代理控制访问创建开销大的对象 例子 代理对象和被代理对象实现同一接口,且代理对象要持有被代理对象的引用 ““““公共接口public interface ProxyInterface { void visit (); }代理public原创 2015-07-14 21:24:03 · 303 阅读 · 0 评论 -
策略模式
定义了算法族,封装起来,让它们可以相互替换,让算法的变化独立于使用算法的客户。下面的例子分离了鸟类的fly()方法. Bird抽象类及其子类Eagle,Penguin public abstract class Bird { private Flyable flyable; private String name; public Bird(String name) {原创 2015-08-15 23:26:39 · 234 阅读 · 0 评论 -
装饰者模式
概念动态地将责任附加到对象上 注意 * 装饰者和别装饰者继承自同一超类,且装饰者持有超类对象 * 继承的目的是继承类型,而不是行为 * 装饰者可以在别装饰者的行为前后加上新行为 例子 摘自《HEAD First 设计模式》,有少许改动 Mocha,Latte两种咖啡继承自Beverage,可以加入Milk,Soy两种调料,且可以重复加入。 Mocha,Latee 是被装饰原创 2015-08-16 23:58:02 · 206 阅读 · 0 评论 -
工厂模式
概念定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个。工厂方法让类把实例化推迟到子类。 实例 PlanedNoodleStore,StretchedNoodleStore实现接口NoodleStorepublic interface NoodleStore { Noodle orderNoodle(String type); }public class PlanedNood原创 2015-08-19 16:00:23 · 240 阅读 · 0 评论 -
抽象工厂
概念定义一个接口,用来创建相关或依赖的对象家族,而不需要指明具体类。 实例 IPhoneStore、WPhoneStore实现同一接口PhoneStorepublic interface PhoneStore { public abstract Phone orderPhone(); public abstract PhoneFilm orderPhoneFilm(); } public原创 2015-08-22 19:36:59 · 259 阅读 · 0 评论