设计模式的目的

  1. 代码重用性
  2. 可读性
  3. 可扩展性(添加功能方便)
  4. 可靠性(添加代码, 不会对原来代码有影响)
  5. 高内聚, 低耦合

    设计模式的原则

  6. 单一原则
    类拆解(一个类只负责一个责任)
    方法拆解(一个方法只负责一个责任)

  7. 接口隔离原则
    spring的ApplicationContext, 功能不集中在一个借口上, 拆分成多个, 功能项目隔离
    调用者使用被调用者最小接口
  8. 依赖倒转(置换)原则, 高层模块依赖抽象, 不依赖细节
    通过构造方法, set, get方法传递(变量可能会在类的内部, 进行业务细节处理)
    用接口执行方法
  9. 里氏替换原则
    子类尽量不重写父类方法
    通过聚合, 组合, 依赖来解决(就只直接创建对象)
  10. 开闭原则
    对拓展开放, 对修改关闭(方便添加代码, 避免修改代码)
  11. 迪米特法则
    返回值只保留直接朋友, 不暴露细节
  12. 合成复用原则, 少用继承