适用场景:适用于较小,功能较少,业务逻辑较少的项目。
MVC模式是最经典开发模式之一,它分为三个部分Model,View,Controller。
- 模型层(Model):是应用程序中独立于用户界面的动态数据结构;它直接管理应用程序的数据,逻辑和规则。
- 视图层(View):用户界面,用来展示信息。
- 控制层(Controller):接收输入事件,操控model或view。
除了将应用程序划分为这些组件之外,MVC还定义了它们之间的交互
- model负责管理应用程序的数据,它从controller接收用户输入。
- view以特定格式呈现model。
- controller响应用户输入并对数据model对象执行交互。controller接收输入,可选地验证它,然后将输入传递给model。
Android 中的 MVC 也有它的缺点:
- Activity 并不是一个标准的 MVC 模式中的 Controller,它的首要职责是加载应用的布局和初始化用户界面,接受并处理来自用户的操作请求,进而做出响应。随着界面及其逻辑的复杂度不断提升,Activity 类的职责不断增加,以致变得庞大臃肿。
- View 层和 Model 层直接进行交互,就必然会导致Model和View之间的耦合,不易开发和维护。
在MVC的架構,通常會把layout(xml)當成View,Activity當成Controller, 事實上,Activity 卻是Controller 與View 的混合,於是Activity既要做處理View,也負責商業邏輯。使得Activity越來越肥。
Reference:
https://windsuzu.github.io/learn-android-architecture-pattern/
https://blog.yorek.xyz/android/paid/zsxq/week21-mvc&mvp&mvvm/
No comments:
Post a Comment