天天看點

面向對象思想的設計原則概述

在實際的開發中,我們要想更深入的了解面向對象思想,就必須熟悉前人總結過的面向對象思想的設計原則。

單一職責原則
    核心思想:其實就是開發人員經常說的“高内聚”(自己能做的,不麻煩别人)。
    也就是說:每個類應該隻有一個職責,對外隻能提供一種功能,而引起類變化的原因應該隻有一個。
    在設計模式中,所有的設計模式都遵循這一原則。

開閉原則
    核心思想:一個對象對擴充開放,對修改關閉。
    其實開閉原則的意思就是:對類的改動是通過增加代碼進行的,而不是修改現有代碼。
    也就是說:軟體開發人員一旦寫出了可以運作的代碼,就不應該去改動它,而是要保證它能一直運作下去,如何能夠做到這一點呢?
    這就需要借助于抽象和多态,即把可能變化的内容抽象出來,進而使抽象的部分是相對穩定的,而具體的實作則是可以改變和擴充的。

裡氏替換原則
    核心思想:在任何父類出現的地方都可以用它的子類來替代。
    也就是說:同一個繼承體系中的對象應該有共同的行為特征。

依賴注入原則(Spring架構)
    核心思想:要依賴于抽象,不要依賴于具體實作。
    也就是說:在應用程式中,所有的類如果使用或依賴于其他的類,則應該依賴這些其他類的抽象類,而不是這些其他類的具體類。
    為了實作這一原則,就要求我們在程式設計的時候針對抽象類或者接口程式設計,而不是針對具體實作程式設計。

接口分離原則
    核心思想:不應該強迫程式依賴它們不需要使用的方法。
    也就是說:一個接口不需要提供太多的行為,一個接口應該隻提供一種對外的功能,不應該把所有的操作都封裝到一個接口中。

迪米特原則
    核心思想:一個對象應當對其他對象盡可能少的了解。“低耦合”(不要牽一發而動全身)
    也就是說:降低各個對象之間的耦合,提高系統的可維護性。在子產品之間應該隻通過接口程式設計,而不理會子產品的内部工作原理,它可以使各個子產品耦合度降到最低,促進軟體的複用。

所有的原則都是為了提高程式的可維護性、可擴充性、可複用性。      

我的GitHub位址:

https://github.com/heizemingjun

我的部落格園位址:

http://www.cnblogs.com/chenmingjun

我的螞蟻筆記部落格位址:

http://blog.leanote.com/chenmingjun

Copyright ©2018 黑澤明軍

【轉載文章務必保留出處和署名,謝謝!】