再看面向对象(OOP)

面向对象的三个特点

  1. 封装
  2. 继承
  3. 多态

面向对象的五个基本原则

  1. 单一职责原则SRP(Single Responsibility Principle)
    一个类,应该仅有一个引起它变化的原因。高度封装、划界清晰
  2. 开放封闭原则OCP(Open-Close Principle)
    一个模块在扩展性方面应该是开放的而在更改性方面应该是封闭的。
  3. 里式替换原则LSP(the Liskov Substitution Principle LSP)
    子类应当可以替换父类并出现在父类能够出现的任何地方。
    https://blog.csdn.net/king123456man/article/details/81626110,违反LSP的处理方案
  4. 依赖倒置原则DIP(the Dependency Inversion Principle DIP)(面向接口编程)
    模块间的依赖同构抽象发生,实现类之间不发生直接的依赖关系,其依赖关系是通过接口或者抽象产生的。
    https://blog.csdn.net/king123456man/article/details/81626127
    DIP的几种写法:
    1. 接口声明依赖对象
    2. 构造函数传递依赖对象(Spring中的构造器注入)
    3. Setter方法传递依赖对象(Spring中的方法注入)
  5. 接口分离原则ISP(the Interface Segregation Principle ISP)
    类之间的依赖关系建立在最小接口上,将非常庞大、臃肿的借口拆分成更小、更具体的接口
  6. 最少知识原则(Least Knowledge Principle) - 迪米特原则LOD(Law of Demeter)
    一个类应该对自己需要耦合或调用的类知道的最少,类的内部如何实现与调用者或者依赖没有关系,只与当前依赖通信。

MVC

再看面向对象(OOP)

MVC与WEB的Model2

更清楚的指责划分
再看面向对象(OOP)

MVP

MVVM