[資料] Oo Design Principles
此連結:http://c2.com/cgi/wiki?OoDesignPrinciples
看它的出處大部分都是:Robert C. Martin, Engineering Notebook
以下將 instance 翻譯為「實體」
Liskov Substitution Principle (LSP):
一個實體應該能取代任何父類別的實體
Open Closed Principle (OCP):
一個能夠再利用的類別應該開放大家來延伸出其他類別,但是禁止大家修改原本的類別
Dependency Inversion Principle (DIP):
一個實作高層的方針的模組不應該依賴於實作低層的方針的模組,我們寧可讓它們依賴於
定義完善的介面
Interface Segregation Principle (ISP):
一個類別所依存的介面應該要盡可能的最少
Reuse Release Equivalence Principle (REP):
釋放出去的套件就是那些可以再利用的套件
Common Closure Principle (CCP):
一個套件內所有的類別應該要禁止改變於相同類型的需求變更,如果有一個需求變更會影
響到這個套件的話,那麼套件中的所有類別都會受到影響
Common Reuse Principle (CRP): 套件中的每個類別要一起具有再利用性
Acyclic Dependencies Principle (ADP): 套件與套件之間不應該有循環的依存關係
下面還有一些物件導向的原則,但是我愈來愈看不懂了
值得注意的是其中有些原則受到質疑,譬如說:REP, CCP
可以參考看看
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.211.211.53
OOAD 近期熱門文章
PTT數位生活區 即時熱門文章