单一职责原则
- 一个类只负责一个功能领域中的相应职责,就一个类而言,应该只有一个引起它变化的原因
- 是现实
高内聚、低耦合
的指导方针 - 解释:
- 高内聚
- 尽可能类的每个成员方法只完成一件事(最大限度的耦合)
- 模块内部的代码,相互之间的联系越强,内聚就越高,模块的独立性就越好
- 低耦合:减少类的内部,一个成员方法调用另一个成员方法,不要牵一发动全身
开闭原则
对扩展开放,对修改关闭,在程序需要进行拓展的时候,不能去修改原有的代码,实现一个热插拔的效果
里氏替换原则
- 任何基类可以出现的地方,子类一定可以出现
- 在程序中尽量使用基类类型来对对象进行定义,而在运行时再确定其子类类型,用子类对象替换父类对象
依赖倒转原则
- 开闭原则的基础,针对接口编程,依赖于抽象而不依赖于具体
- 高层模块不应该依赖底层模块,二者都应该依赖其抽象
接口隔离原则
- 客户端不应该依赖那些它不需要的接口
- 使用多个隔离接口,比使用单个接口要好,降低类之间的耦合度
迪米特法则
- 最少知道原则,一个实体应当尽量少地与其他实体之间发生相互作用,使得系统功能模块相对独立
- 类之间的耦合度越低,就越有利于复用,一个处于松耦合中的类一旦被修改,不会对关联的类造成太大波及
- 通过引入一个合理的第三者来降低现有对象之间的耦合度
常见三大设计模式分类
创建型模式
提供一种在创建对象的同时隐藏创建逻辑的方式,使得程序在判断针对某个给定实例需要创建那些对象时更加灵活
- 常用:工厂模式,抽象工厂模式,单例模式,建造者模式
- 不常用:原型模式
结构型模式
关注类和对象的组合。继承的概念被用例组合接口和定义组合对象获得新功能的方式
- 常用:适配器模式、桥接模式、装饰器模式、代理模式
- 不常用:组合模式、外观模式、享元模式
行为型模式
特别关注对象之间的通信
- 常用:责任链模式、迭代器模式、观察这模式、状态面膜是、策略模式、模板模式
- 不常用:备忘录模式、命令模式