指导思想:
可维护性(Maintainability):修改功能,需要改动的地方越少,可维护性就越好
可复用性(Reusability):代码可以被重复使用 写出自己总结的类库
可扩展性(Extensibility/Scalability):添加功能无需修改原来代码。
灵活性(flexibility/mobility/adaptability):代码接口可以灵活调用。
单一职责原则:
一个类别太大,别太累,负责单一的职责
高内聚,低耦合。
开闭原则:
对扩展开放,对修改关闭:尽量不修改原来的代码的情况下进行扩展
抽象化,多态是开闭原则的关键
里氏替换原则:
所有使用父类的地方,必须能够透明的使用子类对象。
改变父类的内容,要保证之前使用的地方不用改动。
依赖倒置原则:
意思就是:面向抽象(接口)编程
接口隔离原则:
每一个接口应该承担独立的角色,不干不该自己干的事情
避免子类实现不需要实现的方法。
需要对客户提供接口的时候,只需要暴露最小的接口(用到的,没用到的就不开放)
迪米特法则:
尽量不要和陌生人说话
在迪米特法则中,对于一个对象,非陌生人包括以下几类:
当前对象本身
以参数形式传入到当前对象方法中的对象
当前对象的成员对象
如果当前对象的成员对象是一个集合,那么集合中个新元素也都是朋友
当前对象所创建的对象。
和其他类的耦合度变低。