深入浅出 mvc


mvc 是什么?

  • model:模型,持有所有的数据、状态和程序逻辑。模型独立于视图和控制器。
  • view:视图,用来呈现模型。视图通常直接从模型中取得它需要显示的状态与数据。对于相同的信息可以有多个不同的显示形式或视图。
  • controller:位于视图和模型中间,负责接受用户的输入,将输入进行解析并反馈给模型,通常一个视图具有一个控制器。

MVC 模式实现了模型和视图的分离。MVC 模式的好处如下:

  • 一个模型提供不同的多个视图表现形式,也能够为一个模型创建新的视图而无须重写模型。一旦模型的数据发生变化,模型将通知有关的视图,每个视图相应地刷新自己。
  • 模型可复用。因为模型是独立于视图的,所以可以把一个模型独立地移植到新的平台工作。
  • 提高开发效率。在开发界面显示部分时,你仅仅需要考虑的是如何布局一个好的用户界面;开发模型时,你仅仅要考虑的是业务逻辑和数据维护,这样能使开发者专注于某一方面的开发,提高开发效率。

mvc 从哪里开始编码?

从论坛里看到有人这样建议:

  • 从 view 开始写,因为只有知道用户想要的东西,才能写得出正确的 M 和 C。首先,你就要知道 view 应该展现什么,然后假设你已经得到要展现的结果集,去写怎么得到要展现的内容。
  • 从dao(接口)写,你就要知道你应该给 view 传递什么结果集,然后得到结果集,传递到前台,再进行展示就可以了。
  • 从 model 开始写,先建 model 类,然后建dao接口,dao接口实现类,然后业务接口,业务实现类,最后视图层。

【结论】:从哪里开始都可以,顺手就好。

个人喜欢:先写 model 再写 controllers 最后写 view。

mvc 框架执行顺序

在这里插入图片描述

1、把路由添加到路由表。

2、注册ControllerBuilder(老板)和默认工厂(DefaultControllerFactory)。
  默认工厂获取可以创建的Controller。

3、由于配置文件中含有IHttpModule的配置,所以会在HttpApplication的指定事件发生时执行注册的委托。

  • 路由数据根据HttpContext来获取RouteData。
  • 根据RouteData和HttpContext封装成RequestContext。
  • 使用HttpContextWrapper的RemapHandler方法来为请求指定处理程序。
  • 在实现了IHandler类中ProcessRequest方法获得Context的Controller的名称,初始化Controller,然后执行ControllerBase的Execute方法,在初始化Controller时,初始化一个ModelBinder,用来实现Model的绑定。这样就进入了Controller中

4、进入Controller之后,执行Execute方法。

5、在Controller执行Execute方法,ActionInvoke方法执行指定的Action,执行Action时可以根据其参数和3.4得到的ModelBinder来实现Model的绑定。

6、执行Action的ExecuteResult方法,获得Result。





参考文档:
https://blog.csdn.net/weixin_30315435/article/details/95633081

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值