对 MVC架构的理解

在开发图形界面应用程序的时候,为求更好的管理应用程序的复杂性,基于职责分离的思想会对应用程序进行分层,把管理用户界面的层次称为View,管理应用程序数据的层次称为Model。

有了View和Model的分层,那么就有了个问题:View如何同步Model的变更?

为了解决这样的问题于是就有了MVC架构模式。

这里需要注意:
1.Model指的是Domain Model,是应用程序对需要解决的问题的数据抽象,不包含应用的状态,可以简单理解为对象。
2.Model层不应该包含应用程序的业务逻辑,而是只保存数据结构和提供数据操作的接口。但是Model在进行数据操作时候也会涉及到相关的业务逻辑
所以这里应该要注意把应用程序的业务逻辑与数据操作的业务逻辑做区别。
在MVC模式中Model应该包含数据操作的业务逻辑,而Controller包含的是应用程序的业务逻辑。

这两种业务逻辑怎么做区分呢?举个例子,假如在登录过程中需要验证用户输入的有效性和对密码进行加密,那么验证用户输入的有效性就是应用程序的业务逻辑,需要在Controller来实现,而对密码进行加密是对数据进行的操作,是属于数据操作的业务逻辑应在Model实现。

MVC的依赖关系
MVC把应用程序分成View、Model层,Controller层。Controller的职责就是专门管理应用程序的业务逻辑。Model、View、Controller三个层次的依赖关系如下:
这里写图片描述

MVC的调用关系
用户的对View操作以后,View捕获到这个操作,会把处理的权利交移给Controller,Controller接着会执行相关的业务逻辑,这些业务逻辑可能需要对Model进行相应的操作,当Model变更了以后,会通过观察者模式通知View,View收到Model变更的消息以后,会向Model请求最新的数据,然后重新更新界面。如下图:
这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值