设计模式
文章平均质量分 88
zhaoImpulse0
这个作者很懒,什么都没留下…
展开
-
命令模式
命令模式(别名:动作,事务) 将一个请求封装为一个对象,从而使用户可用不同的请求对客户进行参数化;对请求排队或记录请求日志,心腹支持可撤销的操作。 Receiver(接收者):接收者是一个类的实例,该实例负责执行与请求相关的操作。 Command(命令)接口:命令是一个接口,规定了用来封装“请求”的若干个方法,比如execute()、undo()等方法. ConcreteCommand...2011-04-30 16:59:54 · 113 阅读 · 0 评论 -
单例模式的两种实现
Singleton模式 当要使用单例模式时,最常用的是Singleton模式: public class Singleton { private static Singleton theInstance = null; private Singleton(){} public static Singleton Instance(){ if(theInstance == nu...原创 2011-08-16 12:05:36 · 122 阅读 · 0 评论 -
工厂模式
简单工厂模式 依赖倒置原则(DIP)扶弱抑强 们应该优先依赖于抽象类,而避免依赖于具体类。当这些具体类不稳定时,更应该如此,因此下面的范例 它违反了DIP,SomeApp依赖于接口Shape,而且完全通过Shape接口来使用Shape的实例。它没有使用Square类或者Circle类的任何特定方法。糟糕的是,SomeApp也创建了Square和Circle的实例,因此就不得不依赖...原创 2011-08-16 15:30:14 · 130 阅读 · 0 评论 -
Template Method模式和Strategy模式:继承与委托
Themeplate Method public abstract class Application { protected abstract void init(); protected abstract void idle(); protected abstract void cleanup(); private boolean isDone = false; p...原创 2011-08-17 16:20:47 · 160 阅读 · 0 评论 -
Null Object(空对象)模式
Employee e = DB.getEmployee("Bob"); //判断雇员e是否应该今天发薪水,如果是,则发 if(e != null && e.isTimeToPay(today)) e.pay(); 如果Bob对象不存在,e就是一个null,然后&&的第一个表达式会被首先求值,而仅当第一个表达式为true时才...2011-08-19 22:14:54 · 585 阅读 · 0 评论 -
java 设计模式
l 创建模式 1. 工厂模式 简单工厂:又称静态工厂方法模式,它可以根据传进来的参数来选择创建哪些对象。这样方便,但有个缺点,因为工厂模式本来就是为了将对象的使用和创建脱藕,而如果使用简单工厂模式的话,那么客户端就需要知道要创建的对象的类型。 工厂方法:又称多态性工厂模式。工厂模式的核心是一个抽象工厂类,而简单工厂模式把核心放在一个具体类上。工厂方法模式...原创 2012-02-25 11:58:25 · 672 阅读 · 0 评论