<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-95  評(píng)論-31  文章-10  trackbacks-0
    條件滿足:
    1 當(dāng)前對(duì)象本身(this)
    2 以參量形式傳入到當(dāng)前對(duì)象方法中的對(duì)象
    3 當(dāng)前對(duì)象的實(shí)例變量直接引用的對(duì)象
    4 當(dāng)前對(duì)象的實(shí)例變量如果是一個(gè)聚集,那么聚集中的元素也都是朋友
    5 當(dāng)前對(duì)象所創(chuàng)建的對(duì)象
    否則就不算"朋友" 代碼需優(yōu)化重構(gòu)

    不是“朋友”的例子:
    public class SomeOne
    {
       
    public void operation(Friend friend)
       {
         Stranger stranger 
    = friend.getStranger();
         stranger.operation();
       }
    }

    friend是SomeOne的朋友,但是在operation內(nèi)部出現(xiàn)了stranger對(duì)象,它不是SomeOne的朋友,stranger.operation()方法應(yīng)該挪到friend對(duì)象內(nèi)部去,進(jìn)行封裝再對(duì)SomeOne提供。
    這原則就是迪米特法則。
    優(yōu)點(diǎn):降低系統(tǒng)內(nèi)部的耦合度,若修改僅僅只會(huì)影響到這個(gè)類的“朋友”們,而不會(huì)影響到當(dāng)前對(duì)象。
    缺點(diǎn):對(duì)象里會(huì)產(chǎn)生大量的小方法,這些方法僅僅只是傳遞間接的調(diào)用,因此與系統(tǒng)的業(yè)務(wù)邏輯無(wú)關(guān),一個(gè)小方法內(nèi),可能僅僅只是調(diào)用了關(guān)聯(lián)對(duì)象的其它方法,而且會(huì)使系統(tǒng)的不同模塊之間不容易協(xié)調(diào)。

    避免該缺點(diǎn):使用依賴倒置原則,比如把上面的stranger做為抽象類,stranger.operation()是個(gè)抽象方法,通過(guò)friend.getStranger()動(dòng)態(tài)返回不同具體的類,這樣仍然做到了SomeOne對(duì)象不用修改,要改也只是friend.getStranger()方法內(nèi)部返回不同的子對(duì)象即可,但是為了代碼整潔度,清晰明了,直接一個(gè)friend.operation(),感覺(jué)還是挪走比較好。

    23種模式里面:門面模式與中介者模式就是迪米特法則的應(yīng)用
    門面模式示意圖: 顯然Facade依賴各個(gè)子系統(tǒng),子系統(tǒng)可以有多個(gè),客戶端直接與Facade打交道


    中介者模式示意圖:





    主站蜘蛛池模板: 18亚洲男同志videos网站| 一个人在线观看视频免费| 麻豆亚洲AV成人无码久久精品 | 亚洲国产电影在线观看| 亚洲中文字幕丝袜制服一区| 成在人线AV无码免费| 午夜不卡久久精品无码免费| 成人午夜免费视频| 亚洲精品乱码久久久久久V| 99久久亚洲综合精品成人网| 亚洲自偷自偷偷色无码中文| 四虎免费永久在线播放| 嫩草影院在线免费观看| 免费下载成人电影| 毛片免费全部播放无码| 日韩免费无码视频一区二区三区| fc2成年免费共享视频18| 污污视频网站免费观看| 看免费毛片天天看| 国产成人精品久久亚洲高清不卡| 国产成人亚洲综合一区| 亚洲乱码中文字幕小综合| 久久久亚洲AV波多野结衣| 亚洲激情在线观看| 亚洲AV无码一区二区二三区入口 | 亚洲人成在线免费观看| 91亚洲自偷手机在线观看| 亚洲Aⅴ无码专区在线观看q| 国产成人亚洲综合色影视| 亚洲精品乱码久久久久久中文字幕| 亚洲成年看片在线观看| mm1313亚洲精品无码又大又粗| 午夜国产羞羞视频免费网站| 日韩高清在线免费观看| 国产免费午夜a无码v视频| 免费一级一片一毛片| 亚洲国产一成久久精品国产成人综合 | 国产精品免费无遮挡无码永久视频| a国产成人免费视频| 精品在线免费观看| 中文字幕亚洲免费无线观看日本 |