一、工厂模式
二、抽象工厂模式
三、单例模式
一、工厂模式:隐藏对象创建逻辑,并使用共同接口指向新创建的对象
例如实现接口Shape,有Circle,Rectangle等。各自实现Shape里的draw方法。把new出来的各种”Shape”放到Shape里,调用shape.draw()
1 | shapeFactory.getShape("CIRCLE").draw(); |
二、抽象工厂模式:把工厂也当成一个需要创建的对象
1 | AbstractFactory colorFactory = FactoryProducer.getFactory("COLOR"); |
三、单例模式:分为懒汉式(用到才创建,省内存,需要考虑线程安全)、饿汉式(类加载就创建,非lazy loading)
懒汉式,线程安全
1 | public class Singleton { |
饿汉式(推荐)
1 | public class Singleton { |
静态内部类,资源利用率高,第一次加载不够快
1 | public class Singleton { |
四、建造者模式:对于内部复杂的结构,单独设置一个类来完成构建
1 | public class MealBuilder { |