重構原則(java)

          1995,Auer曾在文獻[AUER95]中指出:
          1.應當根據(jù)行為而不是狀態(tài)定義一個類。也就是說,一個類的實現(xiàn)首先建立在行為基礎之上,而不是建立在狀態(tài)的基礎之上。
          2.在實現(xiàn)行為時,是用抽象狀態(tài)而不是用具體狀態(tài)。如果一個行為涉及到對象的狀態(tài)時,使用間接的引用而不是直接的引用。換言之,應當使用取值方法而不是直接引用屬性。
          3.給操作劃分層次。一個類的行為應當放到一個小組核心方法(kernel method)里面,這些方法以很方便地在子類中加以置換。
          4.將狀態(tài)屬性的確認推遲到子類中。不要在抽象類中過早聲明屬性變量,應該將它們盡量地推遲到子類中去聲明。在抽象超類中,如果需要狀態(tài)屬性的話,可以調用抽象的取值方法,而將抽象的取值方法的實現(xiàn)放到具體子類中。
          如果能夠遵從這樣的原則,那么就可以在等級結構中將接口與實現(xiàn)分隔開來,將抽象與具體分割開來,從而保證代碼可以最大限度地被復用。

          posted on 2009-11-17 13:41 鍵盤動物 閱讀(175) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導航:
           
          <2009年11月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          導航

          統(tǒng)計

          常用鏈接

          留言簿

          隨筆檔案

          新聞分類

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 彝良县| 大荔县| 仲巴县| 分宜县| 武宣县| 彩票| 承德市| 阿巴嘎旗| 正安县| 成安县| 万安县| 浦县| 西盟| 息烽县| 营口市| 永定县| 丹江口市| 泽库县| 英超| 海晏县| 桃园市| 习水县| 浦江县| 明星| 沅江市| 中江县| 台安县| 墨江| 钦州市| 敖汉旗| 红原县| 横峰县| 康定县| 敦化市| 双流县| 清水河县| 汝州市| 张掖市| 闻喜县| 泊头市| 呼和浩特市|