随笔-95  评论-31  文章-10  trackbacks-0
经常对那三种工厂模式滥用,却有时候又忘了叫什么
简单工厂 工厂方法 抽象方法模式。

创建模式可分为:简单工厂 工厂方法 抽象方法模式  单例模式 多例模式 建造者模式 原型模式
创建模式又分为:类的创建模式和对象的创建模式:即通过类继承和对象委托方式

三种工厂示意图:

原型模式满足三点:
1,克隆对象与原有对象不同
2,克隆对象与原有对象的getClass()方法相同,即需要相同的类型
3,equals方法克隆对象与原有对象相同
前两条充要条件,第3条必要条件
克隆分为:深克隆,浅克隆
深克隆:复制基本变量以及引用所指向的堆对象
浅克隆:只复制基本变量及引用,引用仍然指向同一个堆对象。
深克隆要考虑:克隆的深度,即引用对象是否还包括引用。
示意图:

单例模式:
/**线程安全**/
private static A a = new A();
private A(){}
public A getInstance(){
   
return a;
}

/**非线程安全 可改造成线程安全*/
private A a ;
private A(){}
public A getInstance(){
   
if(a ==null){
      a 
= new A();
}
   
return a; 
}
示意图:
posted on 2013-09-26 13:57 朔望魔刃 阅读(189) 评论(0)  编辑  收藏 所属分类: 设计模式&&数据结构

只有注册用户登录后才能发表评论。


网站导航: