设计模式-策略


策略模式属于对象的行为模式。其用意是针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化。这个模式涉及到三个角色:环境(Context)角色:持有一个Strategy的引用。抽象策略(Strategy)角色:这是一个

设计模式-观察者


观察者模式(Observer)又称发布-订阅模式(Publish-Subscribe:Pub/Sub)。它是一种通知机制,让发送通知的一方(被观察方)和接收通知的一方(观察者)能彼此分离,互不影响。观察者接口public interface Observer { public abstract

设计模式-职责链


职责链就是,将不属于自己职责的任务推卸给下一个执行任务的对象。我们将多个这样的对象组成一条链,然后根据组成顺序,任务就能被分配到具体执行的对象上。首先,定义一个表示用来解决问题的抽象类Supportpublic abstract class Support { private String n

设计模式-建造者


举个例子,要按照不同的方式生成文本,有纯文本和html形式,使用建造者模式,将实现细节分别实现在具体的builder里。话不多说,直接上代码/** * 声明一个编写文档的方法 */public abstract class Builder { public abstract void make

设计模式-抽象工厂


抽象工厂模式,由抽象工厂,抽象零件,以及具体工厂,具体零件组成。接口不需要关心用户选择哪个工厂,只按照特定规则进行组装,所有具体零件都继承抽象零件,所有具体工厂都继承抽象工厂。在抽象工厂模式中,接口是负责创建一个相关对象的工厂,不需要显式指定它们的类。每个生成的工厂都能按照工厂模式提供对象。意图:提

设计模式-工厂方法


说到工厂方法,首先来认识一下简单工厂。简单工厂是由一个工厂对象决定创建出哪一种产品类的实例,代码实现很简单,很容易理解。 //抽象产品 abstract class Car { private String name; public abstract void