S —单一责任
区分行为,以便如果由于更改而出现错误,则不会影响其他无关的行为。
O —开闭
类应该开放以进行扩展,但封闭以进行修改
L —里氏替换
如果您有一个类并从中创建另一个类,则该类将成为父类,而新的类将成为子类。该子类应该能够做到的一切父类可以做。此过程称为继承。
该子类必须能够处理相同的请求,并提供相同的结果作为父类,也可能带来的结果是相同类型的。
图为父类提供咖啡(可以是任何类型的咖啡)。子类交付Cappucino是可以接受的,因为它是一种特殊的咖啡,但是交付水是不可接受的。
如果子类不满足这些要求,则意味着子类已被完全更改并且违反了该原则。
I —接口隔离
不应强迫客户依赖他们不使用的方法。
D —依赖倒置
-高级模块不应依赖于低级模块。两者都应取决于抽象。
-抽象不应依赖细节。细节应取决于抽象。
网友评论