Java
中几个常用设计模式
1.
单例模式(有的书上说叫单态模式其实都一样)
该模式主要目的是使内存中保持
1
个对象。看下面的例子:
package org.sp.singleton;
//
方法一
public class Singleton {
//
将自身的实例对象设置为一个属性
,
并加上
Static
和
final
修饰符
private static final Singleton instance = new Singleton();
//
将构造方法设置成私有形式
private Singleton() {
}
//
通过一个静态方法向外界提供这个类的实例
public static Singleton getInstance() {
return instance;
}
}
//
方法二
class Singleton2 {
private static Singleton2 instance2 = null;
public static synchronized Singleton2 getInstance() {
if (instance2 == null)
instance2 = new Singleton2();
return instance2;
}
}
注:这二个方法实现了一样的功能,但个人推荐采用第一种方法。
2.
工厂模式
该模式主要功能是统一提供实例对象的引用。看下面的例子:
public class Factory{
public ClassesDao getClassesDao(){
ClassesDao cd = new ClassesDaoImpl();
return cd;
}
}
interface ClassesDao{
public String getClassesName();
}
class ClassesDaoImpl implements ClassesDao {
public String getClassesName(){
System.out.println("A
班
");
}
}
class test
{
public static void main(String[] args){
Factory f = new Factory();
f.getClassesDao().getClassesName();
}
}
这个是最简单的例子了,就是通过工厂方法通过接口获取对象的引用
3.
建造模式
该模式其实就是说,
一个对象的组成可能有很多其他的对象一起组成的,
比如说,
一个对象的实
现非常复杂,
有很多的属性,
而这些属性又是其他对象的引用,
可能这些对象的引用又包括很多
的对象引用。封装这些复杂性,就可以使用建造模式
Java
中几个常用设计模式
1.
单例模式(有的书上说叫单态模式其实都一样)
该模式主要目的是使内存中保持
1
个对象。看下面的例子:
package org.sp.singleton;
//
方法一
public class Singleton {
//
将自身的实例对象设置为一个属性
,
并加上
Static
和
final
修饰符
private static final Singleton instance = new Singleton();
//
将构造方法设置成私有形式
private Singleton() {
}
//
通过一个静态方法向外界提供这个类的实例
public static Singleton getInstance() {
return instance;
}
}
//
方法二
class Singleton2 {
private static Singleton2 instance2 = null;
public static synchronized Singleton2 getInstance() {
if (instance2 == null)
instance2 = new Singleton2();
return instance2;
}
}
注:这二个方法实现了一样的功能,但个人推荐采用第一种方法。
2.
工厂模式
该模式主要功能是统一提供实例对象的引用。看下面的例子:
public class Factory{
public ClassesDao getClassesDao(){
ClassesDao cd = new ClassesDaoImpl();
return cd;
}
}
interface ClassesDao{
public String getClassesName();
}
class ClassesDaoImpl implements ClassesDao {
public String getClassesName(){
System.out.println("A
班
");
}
}
class test
{
public static void main(String[] args){
Factory f = new Factory();
f.getClassesDao().getClassesName();
}
}
这个是最简单的例子了,就是通过工厂方法通过接口获取对象的引用
3.
建造模式
该模式其实就是说,
一个对象的组成可能有很多其他的对象一起组成的,
比如说,
一个对象的实
现非常复杂,
有很多的属性,
而这些属性又是其他对象的引用,
可能这些对象的引用又包括很多
的对象引用。封装这些复杂性,就可以使用建造模式