摘要:
原型模式适用于频繁产生某些类的对象,可以提升创建对象的性能,也使代码变得容易阅读。实现要点:1.定义一个接口Prototype,这个接口中定义一个clone方法。2.定义一个类并实现Prototype接口及clone方法。Java代码public interface Product extends Cloneable { void setSize(int size); int getSize();}public class Font implements Product{ int mSize; public Font(int size) { mSi... 阅读全文
摘要:
单例模式用于系统中只需要一个单例的时候。实现要点:1.创建一个Singleton的类,并将其构造函数设置成private.2.创建一个Singleton的private static变量3.创建一个getInstance()的publuc static方法,通过这个方法获取类的仅有的对象。public class Singleton { private static Singleton singleton = null; private static final Object lock = new Object(); private Singleton(){ S... 阅读全文
摘要:
工厂模式主要是避免new所带来的依赖,这样可以在应用直接替换对象而不用修改。实现要点:1.创建一个Product的类或者接口,Product的子类实现这个接口(或继承这个类);2.创建一个Factory的类或者接口,Factory的子类实现这个接口(或继承这个类),实现建造对象的方法。public interface Shape { void draw();}public class Circle implements Shape { @Override public void draw() { System.out.println("draw circle")... 阅读全文
摘要:
模板模式主要适用于有一些确定的步骤,但细节不大一样的情况。实现要点:1.定义一个抽象类,定义几个抽象方法,定义模板方法供客户端使用。2.定义一个子类继承模板抽象类,实现抽象方法。public abstract class AbstractDisplay { public abstract void open(); public abstract void print(); public abstract void close(); public final void display() { open(); for (int i = 0... 阅读全文
摘要:
Adapter的模式的作用主要是调整某个类的接口,使其适应于现有架构。实现要点:1.定义一个适配类,实现需要适配成的接口(或者继承现有的类)。2.在适配类中持有一个被适配对象,在适配接口中调用适配对象的方法。 1 public class Switch { 2 Switchable switchDevice; 3 public void setSwitchDevice(Switchable switchDevice) { 4 this.switchDevice = switchDevice; 5 } 6 public void checked()... 阅读全文
摘要:
最近在看设计模式,今天看的是迭代器Iterator模式,在Java容器部分用的比较多。个人认为迭代器模式的最大优点在于对使用者隐藏了细节,使遍历,删除等一些操作比较容易。迭代器模式实现的要点:1.创建Iterator及Iteratable接口。2.创建ConcreteIterable类,实现Iterable接口去提供创建Iterator对象的方法。3.创建ConcreteIterator类,实现Iterator接口去实现hasNext(),next()方法。下面是我自己参考书本写的一个实验代码:public interface Iterator { boolean hasNext(); ... 阅读全文