整理讲座的笔记,涉及设计模式的概念和原则的粗略描述
设计模式方法分为三类:
creational patterns(创建型模式):常用的如简单工厂模式、工厂方法模式、抽象工厂模式
structural patterns(结构型模式):在设计阶段,用于数据库迁移案例
behavioral patterns(行为模式):产品分若干步骤时管理
设计模式原则:
1、open closed principle: open for extension, closed for modification
2、single responsibility principle: A class should lave only one reason to change,即类单一职能
还有像Dependency Inversion Principle(细节依赖抽象)
Singleton(单件模式):保证一个类只有一个实例,并提供一个访问它的全局访问点。如数据库连接对象等。
《设计模式》一书中将Singleton模式归为”创建式“模式。Singleton模式的意图意味着:某个特定的对象承担着某个责任,而其他对象又依赖它的这个责任。
简单java实现方法是为该类创建唯一一个构造器,并将构造器的可见性设为私有。再利用一个具有公有访问属性的静态方法获取该类的唯一实例。
另外,在多线程环境下对单例采用之后初始化操作时,要用对象锁对单例初始化进行同步。
一个Singleton例子:
public class Singleton {
private static Singleton instance = null;
public static synchronized Singleton getInstance() {
//这个方法比上面有所改进,不用每次都进行生成对象,只是第一次
//使用时生成实例,提高了效率
if (instance==null)
instance=new Singleton();
return instance;
}
}