设计模式
阿璐4r
坐在马桶上写代码的阿璐4r
展开
-
适配器模式
它将不兼容的接口转换为可兼容的接口,让原本由于接口不兼容而不能一起工作的类可以一起工作 ITarget 表示要转化成的接口定义。Adaptee 是一组不兼容 ITarget 接口定义的接口,Adaptor 将 Adaptee 转化成一组符合 ITarget 接口定义的接口。 适配器模式有两种实现方式:类适配器和对象适配器。 // 类适配器: 基于继承 public interface ITarget { void f1(); void f2(); void fc(); } public c.原创 2021-05-23 18:32:12 · 58 阅读 · 1 评论 -
建造者模式
经典实现:创建一个资源池 public class ResourcePoolConfig { private String name; private int maxTotal; private int maxIdle; private int minIdle; private ResourcePoolConfig(Builder builder) { this.name = builder.name; this.maxTotal = builder.maxTotal;原创 2021-05-23 13:17:06 · 52 阅读 · 0 评论 -
职责链模式
将请求的发送和接收解耦,让多个接收对象都有机会处理这个请求。将这些接收对象串成一条链,并沿着这条链传递这个请求,直到链上的某个接收对象能够处理它为止。 经典实现方式一 public abstract class Handler { protected Handler successor = null; public void setSuccessor(Handler successor) { this.successor = successor; } public final.原创 2021-05-15 17:32:10 · 70 阅读 · 0 评论 -
模板模式
模板方法模式在一个方法中定义一个算法骨架,并将某些步骤推迟到子类中实现。模板方法模式可以让子类在不改变算法整体结构的情况下,重新定义算法中的某些步骤。 经典实现: public abstract class AbstractClass { public final void templateMethod() { //... method1(); //... method2(); //... } protected abstract void me.原创 2021-05-15 16:22:44 · 56 阅读 · 0 评论 -
观察者模式
观察者模式(Observer Design Pattern)也被称为发布订阅模式。在对象之间定义一个一对多的依赖,当一个对象状态改变的时候,所有依赖的对象都会自动收到通知。 经典的实现方式: public interface Subject { void registerObserver(Observer observer); void removeObserver(Observer observer); void notifyObservers(Message message); } p.原创 2021-05-15 16:21:21 · 72 阅读 · 0 评论 -
策略模式
策略模式可以解耦策略的定义、创建、使用。 1. 策略的定义 策略类的定义比较简单,包含一个策略接口和一组实现这个接口的策略类。因为所有的策略类都实现相同的接口,所以,客户端代码基于接口而非实现编程,可以灵活地替换不同的策略。示例代码如下所示: public interface Strategy { void algorithmInterface(); } public class ConcreteStrategyA implements Strategy { @Override publi.原创 2021-05-15 13:35:45 · 56 阅读 · 0 评论