物件導向設計(二)——迪米特原則

來源:互聯網
上載者:User

什麼事迪米特原則?迪米特原則能協助我們在類設計中起到什麼作用呢?

迪米特原則介紹

1. 定義:每一個軟體單位對其他的單位都只有最少的知識,而且局限於那些與本單位密切相關的軟體單位。

2. 分析

(1)迪米特法則就是指一個軟體實體應當儘可能少的與其他實體發生相互作用。這樣,當一個模組修改時,就會盡量少的影響其他的模組,擴充會相對容易,這是對軟體實體之間通訊的限制,它要求限制軟體實體之間通訊的寬度和深度。

(2) 狹義的迪米特法則:可以降低類之間的耦合,但是會在系統中增加大量的小方法並散落在系統的各個角落,它可以使一個系統的局部設計簡化,因為每一個局部都不會和遠距離的對象有直接的關聯,但是也會造成系統的不同模組之間的通訊效率降低,使得系統的不同模組之間不容易協調。

(3)廣義的迪米特法則:指對對象之間的資訊流量、流向以及資訊的影響的控制,主要是對資訊隱藏的控制。資訊的隱藏可以使各個子系統之間脫耦,從而允許它們獨立地被開發、最佳化、使用和修改,同時可以促進軟體的複用,由於每一個模組都不依賴於其他模組而存在,因此每一個模組都可以獨立地在其他的地方使用。一個系統的規模越大,資訊的隱藏就越重要,而資訊隱藏的重要性也就越明顯。

(4)迪米特法則的主要用途在於控制資訊的過載。

 

指導思想:

1.在類的劃分上,應當盡量建立松耦合的類,類之間的耦合度越低,就越有利於複用,一個處在松耦合中的類一旦被修改,不會對關聯的類造成太大波及

2.在類的結構設計上,每一個類都應當盡量降低其成員變數和成員函數的存取權限

3.在類的設計上,只要有可能,一個類型應當設計成不變類 

4.在對其他類的引用上,一個對象對其他對象的引用應當降到最低。 

執行個體

      i.某系統介面類(如Form1、Form2等類)與資料訪問類(如DAO1、DAO2等類)之間的調用關係較為複雜。:

圖(一)

圖(二)

圖(一)和圖(二)分析:

圖(一)為什麼到圖(二)哪?因為這樣就可以降低類的耦合性,是類中功能更加單一,相當於面板模式。

一個軟體實體應當儘可能少的與其他實體發生相互作用

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.