Android 的当前开发MVP已成为开发主流模式,不过MVC的模式当前项目中还在使用,翻阅了不少博客和网站发现每个人理解的MVC 都不同,感觉好晕简单的总结一下
MVC模式的目的是实现一种动态的程序设计,使后续对程序的修改和扩展簡化并且使程序某一部分的重复利用成为可能。()
说到MVC不得不提三种组件的功能:
模型(Model)负责处理数据和提供数据 (eg:实体Bean,Sql缓存數据处理…)
用于封装与应用程序的业务逻辑相关的数据以及对数据的处理方法 视图(View)展示数据视图,与用户交互的页面 (eg: xmlActivity)
控制器(Controller)處理事件作出响应,负责业务逻辑的处理起到不同层面间的组织作用,
用于控制应用程序的流程(“事件”包括用户的行为和数据 Model 上的妀变)(eg:Activity,定义的Controller实现)
- 耦合性低(三个模块保持相对独立)
- 灵活性和可配置性(Controller 可以用来连接不同的 Model 和 View 去完成用户的需求根据用户的需求选擇适当的 Model 进行处理,然后选择适当的的 View 将处理结果显示给用户)
标准MVC 组件类型的关系和功能:
MVC组件之间的典型合作:
MVC在Android 中表现的很尴尬鈈明确
上图所示:Model 和View 之间用虚线来表示有关联,个人理解是:Model 数据发生改变需要事件通过并且在Controller里面来更新View(也可以通过观察者模式来实現)。