概念:
S(Single):单一责则原则
O(Open):开放闭合原则
L(Liskov):里氏替换原则
I (Interface):接口隔离原则
D(Dependency):依赖倒置原则
单一责则原则(The Single Responsibility Principle)
概念:就一个类而言,应该仅有一个引起它变化的原因。
解释:一个类只要负责一件事情就好了,一件事一个责则。
开放闭合原则(The Open Closed Principle)
概念:软件实体应该是可扩展,而不可修改的。也就是说,对扩展是开放的,而对修改是封闭的。
解释:一个软件系统是可以扩展的,任意增加模块的,但是扩展和新增模块后,不应该需要对原本软件进行修改。
里氏替换原则(The Liskov Substitution Principle)
概念:一个对象在其出现的任何地方,都可以用子类实例做替换,并且不会导致程序的错误。
解释:子类应该是能够随时能够替换父类完成工作,而不会出现问题。简而言之,子类既然继承了父类的东西,就不要做违背父类意愿的事情。
接口隔离原则(The Interface Segregation Principle)
概念:客户端不应该依赖它不需要的接口。一个类对另一个类的依赖应该建立在最小的接口上。
解释:一个类不需要某接口,就不要去依赖它,应建立最小接口依赖。
依赖倒置原则(The Dependency Inversion Principle)
概念:一个类要依赖于抽象接口,不要依赖于具体实现。
解释:一个类对另一个类的依赖应该建立在接口之上,不要依赖于该类的实例。