通过应用软件架构模式来开发安卓应用,总是被开发者所青睐。架构模式为项目文件提供了模块化,并确保所有的代码在单元测试中得到覆盖。它使开发人员很容易维护软件,并在未来扩展应用程序的功能。MVC(模型-视图-控制器)和MVP(模型-视图-展示者)是开发者中最流行的两种安卓架构。
MVC模式建议将代码分成三个部分。在创建应用程序的类/文件时,开发者必须将其分为以下三层之一。
MVP模式克服了MVC的挑战,提供了一种简单的方法来组织项目代码。MVP被广泛接受的原因是它提供了模块化、可测试性,以及一个更干净和可维护的代码库。它由以下三个部分组成。
MVC和MVP设计模式的主要区别 –
MVC(Model View Controller) | MVP(Model View Presenter) |
---|---|
最古老的软件架构之一 | 作为软件架构的第二次迭代,它比MVC更先进。 |
UI(视图)和数据访问机制(模型)是紧密耦合的。 | 视图与模型是松散耦合的。 |
控制器和视图层属于同一个活动/片段。 | 视图-展示者和展示者-模型之间的通信通过一个接口发生。 |
用户输入由控制器处理,它指示模型进行进一步的操作。 | 用户输入由View处理,它指示presenter调用适当的函数。 |
控制器和视图之间存在多对一的关系,因为一个控制器可以根据需要的操作选择不同的视图。 | 展示者和视图之间存在一对一的关系,因为一个展示者类一次管理一个视图。 |
控制器是总负责人,因为它创建了适当的视图并根据用户的要求与模型进行交互。 | 视图是这个模式中的总负责人,因为视图调用Presenter的方法,而Presenter进一步指导Model。 |
对单元测试的有限支持 | 高度支持单元测试。 |