不過真實的情況是
SRP—單一責任原則
OCP—開關原則
LSP—Liskov替換原則
ISP—接口隔離原則
DIP—依賴倒置原則
上述這個原則的集合正好對應於縮略詞SOLID
下面的軟件設計原則列表來自於《Head First Design Patterns》一書
封裝變化
多用組合少用繼承
基於接口而不是基於實現編程
在交互的對象間努力實現松耦合
類應該為了擴展而開放
依賴於抽象
僅僅對你的朋友交談
不調用我
一個類應該僅有一個改變的理由
當然
所有這些設計原則的真正動機在於
軟件設計模式描述的是應用軟件設計原則所遵循的策略的問題
軟件設計模式的思想最初源於書籍《Design Patterns: Elements of Reusable Object
例如
Strategy
Observer
Decorator
Factory
Singleton
Command
Adaptor
Façade
Template
Iterator
Composite
State
Proxy
Compound
另一本在軟件設計模式方面較有影響的書是Martin Fowler的《Patterns of Enterprise Application Architecture》
[
From:http://tw.wingwit.com/Article/program/net/201311/14491.html