隨筆-95  評論-31  文章-10  trackbacks-0
          經(jīng)常對那三種工廠模式濫用,卻有時候又忘了叫什么
          簡單工廠 工廠方法 抽象方法模式。

          創(chuàng)建模式可分為:簡單工廠 工廠方法 抽象方法模式  單例模式 多例模式 建造者模式 原型模式
          創(chuàng)建模式又分為:類的創(chuàng)建模式和對象的創(chuàng)建模式:即通過類繼承和對象委托方式

          三種工廠示意圖:

          原型模式滿足三點(diǎn):
          1,克隆對象與原有對象不同
          2,克隆對象與原有對象的getClass()方法相同,即需要相同的類型
          3,equals方法克隆對象與原有對象相同
          前兩條充要條件,第3條必要條件
          克隆分為:深克隆,淺克隆
          深克隆:復(fù)制基本變量以及引用所指向的堆對象
          淺克?。褐粡?fù)制基本變量及引用,引用仍然指向同一個堆對象。
          深克隆要考慮:克隆的深度,即引用對象是否還包括引用。
          示意圖:

          單例模式:
          /**線程安全**/
          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 朔望魔刃 閱讀(221) 評論(0)  編輯  收藏 所屬分類: 設(shè)計(jì)模式&&數(shù)據(jù)結(jié)構(gòu)
          主站蜘蛛池模板: 麦盖提县| 鲁山县| 祁阳县| 姚安县| 焦作市| 海原县| 绥中县| 平度市| 胶南市| 五大连池市| 科技| 白河县| 新津县| 亳州市| 宁城县| 英吉沙县| 资阳市| 塘沽区| 泌阳县| 宣威市| 平山县| 通山县| 房产| 泉州市| 石泉县| 天镇县| 灵川县| 大足县| 台中市| 平湖市| 嘉黎县| 措勤县| 兴义市| 英吉沙县| 富蕴县| 密云县| 石泉县| 博爱县| 磐石市| 石河子市| 腾冲县|