工厂方法模式:定义了一个创建对象的接口,但由子类解决要实例化的是哪一个。工厂方法让类把实例化推迟到子类。 工厂方法,将产品的“实现”从“使用”中解耦。
oo设计中遵循的原则,实现依赖倒置:
1、变量不可以持有具体类的引用
2、不要让类派生自具体类
3、不要覆盖基类中已实现的方法
抽象工厂模式:提供了一个接口,用于创建相关或依赖对象的家族,而不需要明确指定具体类。
单件模式(singleton pattern):用来创建独一无二的,只能有一个实例的对象的入场卷。确保一个类只有一个实例,并提供一个全局的访问点。
public class singleton{
private static Singleton uniqueInstance;
private Singleton(){}
public static synchronized Singleton getInstance(){
if(uniqueInstance==null){
uniqueInstance=new Singleton();
}
return uniqueInstance;
}
}
使用synchronized使应用的性能降低,但是能确保线程的安全。但是可以通过如下的方式解决:依赖JVM在加载类的时候马上创建此唯一的单件实例。
public class singleton{
private static Singleton uniqueInstance=newSingleton();
private Singleton(){}
public static Singleton getInstance(){
return uniqueInstance;
}
}