参考资料:
http://www.cnblogs.com/wuyuegb2312/p/7011708.html# https://zh.wikipedia.org/wiki/SOLID_(%E9%9D%A2%E5%90%91%E5%AF%B9%E8%B1%A1%E8%AE%BE%E8%AE%A1)
SRP The Single Responsibility Principle 单一责任原则 一个类只能负责一个功能
OCP The Open Closed Principle 开放封闭原则 对扩展开放、对修改关闭
LSP The Liskov Substitution Principle 里氏替换原则 派生类(子类)应当可以替换其基类(超类 或者叫父类)中的方法,但是不应该改变程序方法的原有的定义 csdn wiki
ISP The Interface Segregation Principle 接口分离原则 多个接口要优于单个宽接口
DIP The Dependency Inversion Principle 依赖倒置原则 对象之间的引用应该引用抽象(接口),不应该依赖具体实现