MVC模式:(model-view-controller)
视图层(view):显示数据
控制层(controller):Android的控制层,通常负责从视图(view)读取数据,控制用户输入,并向模型(model)发送数据
逻辑模型(model):是应用程序中用于处理应用程序数据逻辑的部分。通常模型对象负责在数据库中存取数据。
优点:首先就是理解比较容易,技术含量不高,对于开发和维护来说成本不高;耦合性不高,表现层与模型层分离各司其职。
缺点:完全理解MVC并不是很容易,花大规模时间去研究,不适合小型,中等规模的应用程序,使模型、视图与控制器分离,会增加结构的复杂性,并可能产生过多的更新操作,降低运行效率。
总结:
Android中的MVC这个框架并非我们自己完成的,而是由framework给我们搭建好的并提供给我们,在平时的开发中,用Android开发,我们并不常用到MVC模式去脱离Android UI系统构建自己的框架结构。
MVP模式(Model-View-Presenter):
1)Presenter
作为model和view的桥梁,从model层获取数据,返回给view层,使得view和model知之间没有耦合,也将业务逻辑从view中抽离出来。
2)View
用于显示页面,通常指Activity,Fragment或者view空间,它含有一个Presenter成员变量。view需要实现一个逻辑接口(presenter中传入view,在presenter中获取到model返回的数据,进而调用view逻辑接口将数据返回给view元素)。
3)model
用于请求数据,交给presenter。
工程的主要目录结构,见图2: