MVC

M应该做的事

​ 给ViewController提供数据
给ViewController存储数据提供接口
提供经过抽象的业务基本组件,供Controller调度

C应该做的事

​ 管理View Container的生命周期
负责生成所有的View实例,并放入View Container
监听来自View与业务有关的事件,通过与Model的合作,来完成对应事件的业务。

V应该做的事

​ 界面元素表达,响应与业务无关的事件,并因此引发动画效果,点击反馈等。

什么是胖Model 和瘦Model?

​ 胖Model就是在model 中进行一些处理,让VC只是用很少的代码逻辑处理即可完成的一种模式。

​ 瘦Model就是在model中不进行任何处理,让VC全部操作

我们在MVC中经常使用的thin model。

DDD

在DDD中,瘦Model类似DTO,胖Model则包含持久层CRUD操作。