- 单一职责:例如 Form 类不应该实现具体的算法;
- 开放封闭:对修改关闭,对拓展开放,比如实现了加法,后面添加减法时,不应该触及到实现加法的类,以免误修改,可以通过简单工厂等设计模式去实现这个目的。
- 依赖倒置:面对接口编程,而不是面对实现编程,虽然最终是为了实现。
- 里氏置换:派生类(子类)对象可以在程式中代替其基类(超类)对象,比如连接数据库,对于业务来说,应该只知道数据库基类,而具体的多种数据库,都去继承数据库基类,然后根据实际情况,由具体的数据库代替数据库基类实现业务。这样可以灵活的实现快速更换数据库。