物件導向程式設計守則

物件導向程式設計守則


一個好的程式,必須滿足以下條件:

1. 可以正常運作(沒有bug)

2. 程式碼夠短(技巧好)

3. 程式碼容易理解(易改寫)

4. 可以重複利用(降低開發成本)

5. 能幫上使用者(方便好用)


6大物件導向設計原則

主要目的是設計出易維護、易擴展、易重用、靈活性加的程式。

1. 單一職責原則(Single Responsibility Principle, SRP)

一個類別應該只具有一個改變的理由。


2. Liskov 替換原則(Liskov Substitution Principle, LSP)

父類別能出現的地方,子類別就可以出現,而且替換成子類別不會造成錯誤或異常。


3. 顛覆依賴原則(Dependence Inversion Principle, DIP,又譯依賴倒置原則)

依賴抽象類別,不要依賴具象類別。


4. 介面隔離原則(Interface Segregation Principle, ISP)

客戶端不應該依賴他不需要的介面,類別間的依賴關係應該建立在最小的介面上。


5. 極少化守則(Least Knowledge Principle, LKP 又稱迪米特法則Law of Demeter))

一個物件應該對其他物件有最少的了解,只跟朋友連絡。


6. 開放-封閉原則(The Open-Closed Principle, OCP)

類別、模組、函式應該要可以擴展,但是不可修改。


其他該注意的原則

找出程式中可能需要更動之處,把他們獨立出來,不要和那些不需要更動的程式碼混在一起。

寫程式是針對介面而寫,而不是針對實踐方式而寫。簡單來說,變數的宣告型態,應該是一個抽象類別或是一個介面。

多用合成,少用繼承。

鬆耦合,高內聚。


所有的設計原則只是針對架構設計時所該注意的事,使用時也是要根據實際情況,做出適當的取捨。

留言

這個網誌中的熱門文章

MSVC 與 CRT 之間的恩怨情仇

EXCEL VBA

演員筆記