迪米特原則

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

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

          廣度和深度。

          ?? LoD在 廣度上面,盡量減少遠(yuǎn)距離類的關(guān)聯(lián),而使用與自己有關(guān)的類,并且也與遠(yuǎn)距離類有關(guān)的類。

          ? *可是這種做法有一點(diǎn)麻煩。多個(gè)遠(yuǎn)距離類產(chǎn)生關(guān)聯(lián)的時(shí)候,不怎么容易處理,所以增加一個(gè)遠(yuǎn)距離類的抽象類。所有的遠(yuǎn)距離類都是通過抽象類的形式來訪問。

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

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

          迪米特法則與設(shè)計(jì)模式
          對迪米特法則的最好描述,可以參考門面模式和調(diào)停者模式。

          廣義迪米特法則
          ☆ 在將迪米特法則運(yùn)用到系統(tǒng)的設(shè)計(jì)中時(shí),應(yīng)注意的幾點(diǎn):
          ① 在類的劃分上,應(yīng)該創(chuàng)建有弱耦合的類;
          ② 在類的結(jié)構(gòu)設(shè)計(jì)上,每一個(gè)類都應(yīng)當(dāng)盡量降低成員的訪問權(quán)限;
          ③ 在類的設(shè)計(jì)上,只要有可能,一個(gè)類應(yīng)當(dāng)設(shè)計(jì)成不變類;
          ④ 在對其他類的引用上,一個(gè)對象對其它對象的引用應(yīng)當(dāng)降到最低;
          ⑤ 盡量降低類的訪問權(quán)限;
          ⑥ 謹(jǐn)慎使用序列化功能;
          ⑦ 不要暴露類成員,而應(yīng)該提供相應(yīng)的訪問器(屬性)。?


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

          ?

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

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

          導(dǎo)航

          統(tǒng)計(jì)

          公告

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

          常用鏈接

          留言簿(3)

          隨筆分類

          隨筆檔案

          文章分類

          相冊

          收藏夾

          Java Website

          java技術(shù)博客

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 象山县| 彰化县| 桂林市| 云梦县| 德兴市| 永州市| 巴彦县| 鲜城| 双城市| 五指山市| 军事| 东光县| 扶沟县| 新密市| 巴南区| 彩票| 南充市| 台中县| 夹江县| 孟津县| 景宁| 青海省| 滨州市| 河间市| 博湖县| 聊城市| 庆元县| 遂昌县| 沅江市| 长岭县| 砚山县| 屯留县| 万山特区| 中阳县| 仁布县| 隆林| 乌审旗| 海宁市| 容城县| 萝北县| 大同市|