如何建立穩定、靈活、健壯的API,在設計需要遵循一些準則,包括主流的SOLID原則。
SOLID 原則
S: 單一職責原則(SRP)Single-Responsibility Principle
表明一個類有且只有一個職責 案例:MVC
O: 開閉原則(OCP)Open - ClosedPrinciple
指出,一個類應該對擴展開放,對修改關閉 案例:模板方法模式、觀察者模式
L: 里氏替換原則(LSP)Liskov Substitution Principle
派生的子類應該是可替換基類的,也就是說任何基類可以出現的地方,子類一定可以出現
I: 接口隔離原則(ISP)Interface Segregation Principle
表明類不應該被迫依賴他們不使用的方法,也就是說一個接口應該擁有儘可能少的行爲,它是精簡的,也是單一的
D: 依賴倒置原則(DIP)Dependency-Inversion Principle
表明高層模塊不應該依賴低層模塊,相反,他們應該依賴抽象類或者接口 抽象不依賴於具體,具體依賴於抽象
其他原則
迪米特原則(Law of Demeter )
又叫做最少知識原則,也就是說,一個對象應當對其他對象儘可能少的瞭解。不和陌生人說話 系統中的類,儘量不要與其他類互相作用,減少類之間的耦合度
合成/聚合複用原則 (Composite/Aggregate Reuse Principle ,CARP)
要儘量使用對象組合,而不是繼承關係達到軟件複用的目的。 案例:外觀模式Facade(結構型) 、設計模式Facade模式、Mediator模式