JAVA 设计模式-基础

97 阅读1分钟

JAVA 设计模式-基础

1、类型 (1)、创建型:单例模式、工厂模式、抽象工厂模式、原型模式、建造者模式 (2)、结构性:适配器模式、代理模式、桥接模式、装饰模式、组合模式、外观模式、享元模式 (3)、行为型:观察者模式、策略模式、访问者模式、模板方法模式、命令模式、迭代器模式、中介者模式、备忘录模式、解释器模式、状态模式、职责链模式(责任链模式)

2、单例模式

  • 单例模式主要是为了避免因为创建多个实例造成资源的浪费,而且由于多个实例的多次调用有可能会造成结果错误。单例模式能够保证整个应用中只有一个实例。对象/实例唯一。
  • 设计思想: (1)、在本类中创建自己的实例。 (2)、其他类只能通过本类中的getInstance() 方法获取本类实例。(定义公有方法,将在该类中创建的对象返回) (3)、不允许其他类使用new创建本类对象。(私有化构造方法)
  • 设计方法:饿汉、懒汉、双重校验锁、静态内部类、枚举

(饿汉模式) (1)、定义 在本类中就创建自己的静态实例,通过静态方法传出去。 ==类加载时就初始化实例==

//1、通过静态实例变量
public class Singleton{
	private static Singleton singleton = new Singleton();
	private Singleton(){};
	public static Singleton getSingleton(){
		return singleton;
	} 
}

//2、通过私有构造方法
public class Singleton{
	private static Singleton singleton;
	private Singleton(){singleton = new Singleton();}
	public static getSingleton(){
		return singleton;
	}
}

(懒汉模式) (1)、定义 在本类的方法中创建本类实例。 ==在执行本类的getInstance()时才进行初始化实例==