设计模式
首先,模式分为设计模式和架构模式。
模式:模式描述的是具有代表性的重要性问题和解决方案。允许使用者举一反三,运用到不同的环境中去,不同的表现,但可以有相同的处理方式。
架构模式:架构是指一个软件系统整体的组织结构,架构模式描述软件系统的组织结构的一些规则和指南。
设计模式:描述的是在软件系统的某一局部不断重现的核心解决方案。这种解决方案以完善的设计结构出现,可以被运用到以后出现的类似环境中。
设计模式主要分为:
创建模式:对象的创建
结构模式:类和对象的组合
行为模式:刻画了类和对象交换及分配职责的方式,主要目标是解耦。
单例模式:无论访问该类多少次,都只创建一个该类对象。
比较常用的两种单例模式代码:
预加载单例模式
public class Singleton {
private static Singleton instance = new Singleton();
private Singleton(){}
public static Singleton Singleton(){
return instance;
}
}
延迟加载的单例模式
public class Singleton {
private Singleton(){}
private static Singleton instance =null;
public static Singleton Singleton(){
if(instance == null){
synchronized(Singleton.class){
if(instance == null){//不加这个判断可能产生多个对象
instance = new Singleton();
}
}
}
return instance;
}
}
首先,模式分为设计模式和架构模式。
模式:模式描述的是具有代表性的重要性问题和解决方案。允许使用者举一反三,运用到不同的环境中去,不同的表现,但可以有相同的处理方式。
架构模式:架构是指一个软件系统整体的组织结构,架构模式描述软件系统的组织结构的一些规则和指南。
设计模式:描述的是在软件系统的某一局部不断重现的核心解决方案。这种解决方案以完善的设计结构出现,可以被运用到以后出现的类似环境中。
设计模式主要分为:
创建模式:对象的创建
结构模式:类和对象的组合
行为模式:刻画了类和对象交换及分配职责的方式,主要目标是解耦。
单例模式:无论访问该类多少次,都只创建一个该类对象。
比较常用的两种单例模式代码:
预加载单例模式
public class Singleton {
private static Singleton instance = new Singleton();
private Singleton(){}
public static Singleton Singleton(){
return instance;
}
}
延迟加载的单例模式
public class Singleton {
private Singleton(){}
private static Singleton instance =null;
public static Singleton Singleton(){
if(instance == null){
synchronized(Singleton.class){
if(instance == null){//不加这个判断可能产生多个对象
instance = new Singleton();
}
}
}
return instance;
}
}