MVC:
MVC实际上就是M(model),V(view),C(controller),即模型、视图、控制器
MVC要实现的目标就是将软件用户界面和业务逻辑分离,以使得代码可扩展性、可复用性、可维护性、灵活性加强。
其中,View层是界面,Model层是业务逻辑、Controller层用来调用View层和Model层,将用户界面和业务逻辑合理的组织再一起,起粘合的效果,因此,Controller中的内容尽量少。控制器的作用实际上很简单,就是用来将不同的view和不同的model组织在一起,顺便替双方传递消息。
而各个model之间是可以相互调用的,controller也可以无障碍的调用model,因此将业务逻辑放在model中可以灵活的使用组合的方式复用代码。
然而controller之间是不可以相互调用
MVVM:
MVVM即为Model-View-ViewModel,这也是一种架构模式。
它的目标是从视图层移除几乎所有的代码隐藏,MVVM视图模型包含概念模型而非数据模型,所有业务逻辑和其他操作都是在模型和视图模型里完成的。
View主要用于界面呈现,ViewModel用于逻辑实现,Model用于数据构造,而这三者能够进行通信,最重要的是通过数据绑定机制,将view和viewmodel有效的联系起来。