代码设计模式
代码设计模式
MVC全名是Model View
Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。
举个栗子:具有生命周期的activity相当于Controller,
自己开发封装用于获取数据(网络数据、本地数据、数据处理逻辑等)的api相当与Model,xml控件和自定义控制控件显示数据的逻辑相当与view。
mvc模式是非常常见的模式基本上有基本概念就能按照这个模式进行开发,这里就不过多讨论了。
MVP 全称:Model-View-Presenter ;MVP
是从经典的模式MVC演变而来,它们的基本思想有相通的地方:Controller/Presenter负责逻辑的处理,Model提供数据,View负责显示。
举个栗子:Adapter相当与Presenter控制控制数据与显示的分离,向Adapter喂食数据的api获取处理数据相当与Model,支持Adapter的显示的控件相当于View层。
mvp是从mvc基础上衍生出来的,mvp看上去与mvc好像没有什么差别,但是实际不然,mvc
model数据与view层组合是直接组合,难免会产生耦合,这样model复用性有一定缺失。mvp优化这种结构,他抽象出来一个接口规则,那么view需要支持这个规则,而model按照这个规则向里面喂食数据。这样解开耦合model
view,这样model与view链接逻辑都是用Presenter控制。
MVVM是Model-View-ViewModel的简写。微软的WPF带来了新的技术体验,如Silverlight、音频、视频、3D、动画……,这导致了软件UI层更加细节化、可定制化。同时,在技术层面,WPF也带来了
诸如Binding、Dependency Property、Routed
Events、Command、DataTemplate、ControlTemplate等新特性。MVVM(Model-View-ViewModel)框架的由来便是MVP(Model-View-Presenter)模式与WPF结合的应用方式时发展演变过来的一种新型架构框架。它立足于原有MVP框架并且把WPF的新特性糅合进去,以应对客户日益复杂的需求变化。
举个栗子:使用databing可以搭建mvvm架构,获取网络数据封装api相当于Model,数据处理后分给databing设置界面绑定数据源和和界面上绑定的逻辑相当于ViewModel层,用于最终现实的控件相当于view层。
其实看到上面的似乎有点模糊不清楚,用mvp作为参照,只是p层替换成了vm层,增加xml功能属性,能够利于view层属性方法来扩张功能,将一些与界面相关逻辑处理加入这层,更加细分了抽象层次。
作者:孙宁
原文链接:点击这里
更多推荐


所有评论(0)