物件導向的設計原則

camelxq發表於2009-03-22
OO的設計原則
採用物件導向的分析和設計思想,為我們分析和解決問題提供了一種全新的思維方式。我們在拿到需求之後(略去OOA,以後補全),接下來的問題就是:如何對系統進行物件導向的設計呢?
按照軟體工程的理論,物件導向的設計要解決的核心問題就是可維護性和可複用性,尤其是可維護性,它是影響軟體生命週期重要因素。通常情況下,軟體的維護成本遠遠大於初期開發成本。
一個可維護性很差的軟體設計,人們通常稱之為“臭味”的,形成的原因主要有這麼幾個:過於僵硬、過於脆弱、複用率低或者黏度過高。相反,一個好的系統設計應該是靈活的、可擴充套件的、可複用的、可插拔的。在20世紀80到90年代,很多業內專家不斷探索麵向物件的軟體設計方法,陸續提出了一些設計原則。這些設計原則能夠顯著地提高系統的可維護性和可複用性,成為了我們進行物件導向設計的指導原則:

1、單一職責原則SRP
每一個類應該專注於做一件事情。

2、“開-閉”原則OCP
每一個類應該是對擴充套件開放,對修改關閉。

3、 里氏代換原則LSP
避免造成派生類的方法非法或退化,一個基類的使用者應當不需要知道這個派生類。

4、 依賴倒轉原則DIP
用依賴於介面和抽象類來替代依賴容易變化的具體類。

5、 介面隔離原則ISP
應當為客戶提供儘可能小的介面,而不是提供大的介面。

[@more@]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/21185302/viewspace-1019276/,如需轉載,請註明出處,否則將追究法律責任。

相關文章