摘要:
迪米特法则迪米特法则(LoD)也叫知识法则迪米特法则(LoD),如果两个类不必彼此直接通信,那么这两个类就不应发生直接的相互作用。如果其中一个类需要调用另一个类的某一个方法的话,可以通过第三者转发这个调用。迪米特法则其根本思想,是强调类之间的松耦合。 里氏代换原则里氏代换原则(LSP),子类必须能够 阅读全文
摘要:
建造者模式(Builder),将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 示图代码如下: public abstract class Builder { public abstract void buildPartA(); public abstract void b 阅读全文
摘要:
外观模式(Facade),为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。 图示代码: public class Facade { SubSystemOne one; SubSystemTwo two; SubSystemThree three; 阅读全文
摘要:
迪米特法则(LoD)也叫知识法则迪米特法则(LoD),如果两个类不必彼此直接通信,那么这两个类就不应发生直接的相互作用。如果其中一个类需要调用另一个类的某一个方法的话,可以通过第三者转发这个调用。迪米特法则其根本思想,是强调类之间的松耦合。 阅读全文
摘要:
模板方法模式(TemplateMethod),定义一个操作中的算法骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法得结构即可重定义该算法得某些特定步骤。 示意图代码如下: 1 public abstract class AbstractClass { 2 public abstra 阅读全文
摘要:
原型模式(Prototype),用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象。 图示代码: 1 public abstract class Prototype { 2 private String id; 3 4 public Prototype(String id) { 5 thi 阅读全文
摘要:
工厂方法模式(Factory Method),定义一个创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实列化延迟到其子类。 示意图代码如下: 1 public abstract class Product { 2 public abstract void show(); 3 } Prod 阅读全文