设计模式
观察者模式与SpringBoot应用
当对象间存在一对多关系时, 则使用观察者模式(Observer Pattern). 比如, 当一个对象被修改时, 则会自动通知依赖它的对象.优点:观察者和被观察者是抽象耦合的建立一套触发机制SpringBoot应用场景在SpringBoot启动流程中org.springframework.boot.
Java SPI机制与应用
SPI全称Service Provider Interface, 是Java提供的一套用来被第三方实现或者扩展的接口实际上是"基于接口的编程+策略模式+配置文件"组合实现的动态加载机制, 更是设计模式的生动体现它可以用来启用框架扩展和替换组件. SPI的作用就是为这些被扩展的API寻找服务实现我们一
Java 建造者模式
建造者模式建造者模式(Builder Pattern)使用多个简单的对象一步一步构建成一个复杂的对象。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。一个 Builder 类会一步一步构造最终的对象。该 Builder 类是独立于其他对象的。介绍意图:将一个复杂的构建与其表示相分离
Java 单例模式
双重校验懒汉式单例public class Singleton {
//1. 避免jvm指令重排 由于JVM具有指令重排的特性,执行顺序有可能变成 1-3-2。指令重排在单线程下不会出现问题,但是在多线程下会导致一个线程获得一个未初始化的实例。例如:线程T1执行了1和3,此时T2调用 ge
Java 工厂模式
public class Rectangle implements Shape {
@Override
public void draw() {
System.out.println("Inside Rectangle::draw() method.");
}
}
Java 模板模式
public abstract class Template {
public final void templ() {
System.out.println("开始");
code();
System.out.println("结束");
}
public abstract v
Java 装饰者模式
接口Printerpublic interface Printer {
void start();
void print();
void stop();
}
实现类 HPPrinter
public class HPPrinter implements Printer {
设计模式:模板方法模式
抽象类中定义方法,设置程序“骨架”
public abstract class Template {
public void templ() {
System.out.println("开始");
code();
System.out.println("结束");
}
p