建造者模式 适用场景 创建对象的参数很多 如果参数为非必填的话,可以使用set方法,必填的通过构造方法传入,并进行校验。但是必填项很多时,构造方法的参数列表就很臃肿了。 属性之间有依赖关系 参数过多时使用set方法传入,依赖关系校验就不可控了。因为对象已经创建好了,无法控制对象使用前,是否执行了set方法。 示例 public class Reso…
装饰器模式 定义 通过将对象放入包含行为的特殊封装对象中来为原对象绑定新的行为。 实现方式 IA 需要增强的功能,对应的接口 public interface IA { void func(); } A 待增强的类 public class A implements IA { @Override public void func() { } } A…
责任链模式 定义 在职责链模式中,多个处理器依次处理同一个请求。一个请求先经过 A 处理器处理,然后再把请求传递给 B 处理器,B 处理器处理完后再传递给 C 处理器,以此类推,形成一个链条。链条上的每个处理器各自承担各自的处理职责,所以叫作职责链模式。 在 GoF 的定义中,一旦某个处理器能处理这个请求,就不会继续将请求传递给后续的处理器了。当然…