面向對象思想所遵循的五大設計原則

單一職責原則(Single Responsibility Principle):

   1.避免相同的職責分散到不同的類中;

   2.避免一個類承擔太多的職責;

   這個在面向對象程序設計中非常重要,這個需要我們,明確我們所需要的對象,在設計類的時候不要讓某一個類承擔太多的職能,這樣會減少類的複用性,同時加大類的複雜性。簡單工廠模式和MVC都是這種模式的一個具體的應用。


接口隔離原則(Interface Separation Principle):

   1.一個類對另外一個類的依賴是建立在一個最小的接口之上的。

   2.客戶端程序不應該依賴它不需要的接口方法。

   這個原則的應用主要是防止我們設計出胖接口,一個接口代表一個角色,不應當將不同的角色都交給一個接口。沒有關係的接口合併在一起,形成一個臃腫的大接口,這是對角色和接口的污染。“不應該強迫客戶依賴於它們不用的方法。接口屬於客戶,不屬於它所在的類層次結構。”這個說得很明白了,再通俗點說,不要強迫客戶使用它們不用的方法,如果強迫用戶使用它們不使用的方法,那麼這些客戶就會面臨由於這些不使用的方法的改變所帶來的改變。


開放封閉原則:

開放的模塊必須是開發的,支持擴展的,而不是僵化的。

封閉指的是對模塊的功能進行擴展時,不應該影響或者大規模地影響以有的程序模塊。

實現開放與封閉原則的核心思想就是對抽象編程,因爲抽象相對穩定。讓類依賴於固體的抽象,這樣的修改就是封閉的;通過面向對象的繼承和多態,可以實現對對象題的繼承,通過覆寫其方法來改變固有行爲,實現新的擴展方法,所以對於擴展就是開發的。


替換原則:

子類型必須能夠替換掉他們的父類型、並出現在父類能夠出現的任何地方。LSP原則能讓我們正確地設計出合理的對象繼承設計、合理地應用抽象機制。


依賴倒置:

上層模塊不應該依賴於下層模塊,他們共同依賴於一個抽象。

抽象不能依賴於具體,具體應該依賴於抽象。




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章