软件设计理念

代码重用性,可读性,可扩展性,可靠性,高内聚、低耦合

单一职责原则

单个接口或类不应该有多个职责,应该尽可能的划分职责,通过组合的方式,完成更为复杂的业务

接口隔离原则

一个接口不要包含过多的职责,应合理划分,跟单一职责原则相辅相成
和单一职责很相似
单一职责是从模块、类或方法自身的角度来看的,接口隔离原则是从调用者的角度来看的

依赖倒转(倒置)原则

高层模块不应该依赖于底层模块,二者都应该依赖其抽象

里氏替换原则

在引用父类的地方,都可以替换为其子类。从而可以实现子类间的动态切换。换句话说就是要有面向接口的编程思维。结合“开闭原则”,完美

开闭原则

用抽象构建架构,用实现扩展细节

迪米特法原则

也就最少知道原则,一个对象尽量让其它对象保持最少的了解

合成复用原则

多用组合,少用继承