設計模式的5個原則

來源:互聯網
上載者:User

1.單一職責原則:

一個類應該僅有一個引起它變化的原因。如果一個類承擔的過多,就等於把這些職責耦合在一起,一個職責的變化可能會削弱活著一直這個類完成其他職責的能力。這種耦合會導致脆弱的設計,當變化發生時,設計會遭受到意想不到的破壞。

2.開放—封閉原則:

1.軟體實體(類、模組、函數)應該可以擴充,但是不可以修改。對於擴充是開放的,對於更改是封閉的。

2.在最初編寫代碼時,假設變化不會發生,當變化發生時,我們就建立抽象來隔離以後發生同類變化。

3.依賴倒轉原則:

1.裡氏代換原則:子類型必須能夠替換掉他們的父類型。由於有裡氏代換原則,才使得開放-封閉成為了可能,即由於子類型的可替換性才使得使用父類類型的模組在無需修改的情況下就可以擴充。

2.依賴倒轉模組不應該依賴低層模組,除了約定的介面,大家都可以靈活自如。

3.依賴倒轉其實是物件導向設計的標誌。程式中所有的依賴關係都終止於抽象類別或者介面,那就是物件導向的設計,反之那就是過程化的設計了。

4.迪米特法則:

1.如果兩個類不必彼此直接通訊,那麼這兩個類就不應當發生直接的相互作用。如果其中一個類需要調用另一個類的某一個方法的話,可以通過第三者轉寄這個調用。

2.強調了類之間的松耦合。類之間的耦合越弱,越有利於複用,一個處在弱耦合的類被修改,不會對有關係的類造成波及。

5.合成/彙總複用原則:

1.盡量使用合成/彙總,盡量不要使用類繼承。

2.有助於保持每個類被封裝,並被集中在單個任務上。這樣類和類繼承層次會保持較小規模,並且不太可能增長為不可控制的龐然大物。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.