代码设计模式
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按照这个规则向里面喂食数据。这