迪米特原則

          迪米特原則 6,Least Knowledge Principle(LKP)最少知識原則,又稱為“Law of Demeter”

          迪米特法則的各種表述
          ① 只與你直接的朋友們通信;
          ② 不要跟“陌生人”說話;
          ③ 每一個軟件單位對其他的單位都只有最少的知識,而且局限于那些與本單位密切相關的軟件單位。
          ????
          和ISP接口隔離原則一樣,限制類與類之間的通信。ISP限制的是寬度,而LoD迪米特原則限制的是通信的

          廣度和深度。

          ?? LoD在 廣度上面,盡量減少遠距離類的關聯,而使用與自己有關的類,并且也與遠距離類有關的類。

          ? *可是這種做法有一點麻煩。多個遠距離類產生關聯的時候,不怎么容易處理,所以增加一個遠距離類的抽象類。所有的遠距離類都是通過抽象類的形式來訪問。

          ?在深度上面,控制權限是最重要的,對于類,一個是default 和public,盡量最小權限;對于成員,

          private,default,protected,public。往上面走,權限越小,依賴的耦合就越小。

          迪米特法則與設計模式
          對迪米特法則的最好描述,可以參考門面模式和調停者模式。

          廣義迪米特法則
          ☆ 在將迪米特法則運用到系統的設計中時,應注意的幾點:
          ① 在類的劃分上,應該創建有弱耦合的類;
          ② 在類的結構設計上,每一個類都應當盡量降低成員的訪問權限;
          ③ 在類的設計上,只要有可能,一個類應當設計成不變類;
          ④ 在對其他類的引用上,一個對象對其它對象的引用應當降到最低;
          ⑤ 盡量降低類的訪問權限;
          ⑥ 謹慎使用序列化功能;
          ⑦ 不要暴露類成員,而應該提供相應的訪問器(屬性)。?


          http://blog.csdn.net/plusir/archive/2006/08/21/1104095.aspx

          ?

          posted on 2009-07-02 23:15 luofeng225 閱讀(663) 評論(0)  編輯  收藏 所屬分類: 設計模式

          <2009年7月>
          2829301234
          567891011
          12131415161718
          19202122232425
          2627282930311
          2345678

          導航

          統計

          公告

          我曾經聽到這么一個故事: 一個年輕的程序員問一個老程序員(一個比較牛逼的公司的CTO) 年輕程序員: 你為什么這么牛X., 就好像沒有你不會的。老程序員: 積累的。年輕程序員: 怎么才能積累到您的程度呢。我每天都在積累。但是似乎都沒有感覺到進步。老程序員: 我從20歲開始做到了一件事情,直到今天,而且盡可能地保證不間斷。年輕程序員: 到底是什么? 老程序員: 我每天保證自己有2個小時在學習新的東西。

          常用鏈接

          留言簿(3)

          隨筆分類

          隨筆檔案

          文章分類

          相冊

          收藏夾

          Java Website

          java技術博客

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 出国| 潮州市| 紫云| 昆明市| 金乡县| 阿勒泰市| 仪征市| 天峻县| 策勒县| 保山市| 海南省| 东台市| 西畴县| 贵溪市| 兰西县| 巧家县| 平度市| 广河县| 宣城市| 包头市| 平安县| 句容市| 博爱县| 靖远县| 宁夏| 台中市| 射阳县| 灵璧县| 绥化市| 永顺县| 鄯善县| 融水| 湟中县| 寿光市| 新宁县| 惠州市| 封开县| 澄城县| 饶河县| 嘉祥县| 繁峙县|