Monday, September 14, 2020

Android MVC

适用场景:适用于较小,功能较少,业务逻辑较少的项目。

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

n8n index

 【n8n免費本地端部署】Windows版|程式安裝x指令大補帖  【一鍵安裝 n8n】圖文教學,獲得無限額度自動化工具&限時免費升級企業版功能