接口与接口设计原则一
11 种设计原则1、单一职责原则 - Si n gl e R espons ib i l ity P ri n ci p l e(SRP) 就一个类而言,应该仅有一个引起它变化得原因
职责即为“变化得原因”
开放-封闭原则 - O pen Clo se P r i nc iple(OCP) 软件实体(类、模块、函数等)应该就是可以扩展得,但就是不可修改
对于扩展就是开放得,对于更改就是封闭得
关键就是抽象、将一个功能得通用部分与实现细节部分清楚得分离开来
开发人员应该仅仅对程序中呈现出频繁变化得那些部分作出抽象
拒绝不成熟得抽象与抽象本身一样重要 ) 3
里氏替换原则 — L iskov Su bstitut i on Prin c ip l e(L S P) 子类型(subc l ass)必须能够替换掉它们得基类型(s uperclass)
依赖倒置原则(IoCP) 或 依赖注入原则 - De pe nde nce I nver s ion P rincipl e(DIP) 抽象不应该依赖于细节
细节应该依赖于抽象
H o llywood 原则: "D o n’t cal l us, we'll call y ou”、 程序中所有得依赖关系都应该终止于抽象类与接口
针对接口而非实现编程
任何变量都不应该持有一个指向具体类得指针或引用
任何类都不应该从具体类派生
任何方法都不应该覆写她得任何基类中得已经实现了得方法
接口隔离原则(I SP) 不应该强迫客户依赖于它们不用得方法
接口属于客户,不属于它所在得类层次结构
多个面对特定用户得接口胜于一个通用接口
6、重用发布等价原则(R E P) 重用得粒度就就是发布得粒度
共同封闭原则(C CP) 包(类库、DLL)中得所有类对于同一类性质得变化应该就是共同封闭得