所有類別都相依於抽象,而非具體實作。
所有類別都相依於抽象,而非具體實作。
多個專用介面優於一個通用介面
子型別必須可以被替換成它的基底型別
軟體實體(類別、模組、函式)應能開放擴充但封閉修改
一個類別應該只有一個改變的理由!
SRP的主要精神是提高內聚力,高內聚力意味著你只能想到一個理由去改變它!
內聚力與耦合力 Cohesion & Coupling
物件導向設計 SOLID 設計原則
1.創建者模式: 抽象工廠(abstract factory)、工廠方法(factory method)、建造者(builder)、原型(prototype)、單例(singleton)
2.結構型模式: 轉接器(adapter)、橋接(bridge)、合成(composite)、代理(proxy) 等等...
3.行為型模式: 中介者(mediator)、觀察者(observer)、責任練(chain of responsibility) 等等...