一天中吹牛的时间到了,纠正一下自己的思维,要是能让过客收益那是我的荣幸。

前段时间就三层&MVC被一些网友搅的一头雾水....管他萝卜酸菜吃下去了才是自己的。

首先我要说明的是MVC只是一个表现模式,是一种软件架构模式,而三层才是真正的架构首先我们要明白这几个概念:

M——Model,引用系统数据,管理系统功能并通知View更改用户操作(我们可以理解为BLL&DAL)。

V——View,就是用户接口,用于显示数据(*.aspx)。

C——Controller,将用户操作映射到Model,并操作试图View(Model&View之间的桥梁)。

还有一个我们看不到的,但是又是MVC架构模式最重要的东东R——Routing,MVC的澳门在于通过Routing实现了对URL的路由选择。

请求流程:

1)用户发起一个URL请求

2)Dotnet MVC Framework通过URL Roueing rules找到一个处理该请求的Controller及Action。

3)Controller调用Model加载View需要的数据

4)Model再从数据库获取数据

5)Controller把从Model获取到的数据传输到View,然后由View负责对外呈现出来。

主要优点:

1)设计思路明确,可扩展性好;

2)便于URL Rewrite

3)便于对输出的Html做完全的控制,利于简化代码及SEO

4)C&V完全分离,利于更换皮肤而没有性能的损坏

5)表现层得性能可以优化到极致

.........

转载于:https://www.cnblogs.com/cntom/archive/2011/08/21/2148770.html

MVC(dotnet)相关推荐

  1. dotnet core使用mvc创建web服务器

    Kerstrel服务器 dotnet core自带轻量级的kerstrel服务器,可以实现iis.tomcat.ngnix.apache等功能 dotnet core mvc dotnet new m ...

  2. .NET Core dotnet 命令大全

    dotnet 命令大全,让你理解dotnet 命令. 本文将以一个实例串起 dotnet 所有命令,让你玩转dotnet 命令. 本篇文章编写环境为windows 10 ,dotnet 命令同样适用于 ...

  3. NetCore学习实践1__项目创建和配置文件的获取

    工具安装:vs2017+版本,.Net Core2.0组件 .NET Core 2.0 SDK win-x64下载地址:https://download.microsoft.com/download/ ...

  4. ABP vnext模块化架构的最佳实践的实现

    在上一篇文章<手把手教你用Abp vnext构建API接口服务>中,我们用ABP vnext实现了WebAPI接口服务,但是并非ABP模块化架构的最佳实践.我本身也在学习ABP,我认为AB ...

  5. AspNet Core下利用 app-metrics+Grafana + InfluxDB实现高大上的性能监控界面

    在日常系统工作中,我们为了洞察系统的问题和运作情况通常会记录日志的方式来进行分析,但是在很多情况下都是被动的在出问题后才会去查日志.在很多时候,我们可能更需要相对实时的了解整个系统或者某一时段的运行的 ...

  6. 在离线环境中使用.NET Core

    0x00 写在开始 很早开始就对.NET Core比较关注,一改微软之前给人的印象,变得轻量.开源.跨平台.最近打算试着在工作中使用.但工作是在与互联网完全隔离的网络中进行的,因此就开始了在离线环境中 ...

  7. ASP.NET Core 十种方式扩展你的 Views

    原文地址:http://asp.net-hacker.rocks/2016/02/18/extending-razor-views.html 作者:Jürgen Gutsch 翻译:杨晓东(Savor ...

  8. .NET Core全新路线图

    .NET Core / ASP.NET Core 1 RTM发布两周后,社区也很积极,收到了非常多的反馈,上周五微软的scott Hunter 在dotnet团队官方博客上发布了.NET Core全新 ...

  9. 解决.NET Core中MailKit无法使用阿里云邮件推送服务的问题

    在博问中(.net core怎么实现邮件发送)知道了MailKit无法使用阿里云邮件推送服务发送邮件的问题,自已实测也遇到同样的问题,而用自己搭建的邮件服务器没这个问题. 于是,向阿里云提交了工单.. ...

最新文章

  1. PC 远程控制 android手机的方法之一VNC
  2. 日期不能交叉的检测算法
  3. No module named 'urllib2'
  4. 2_RabbitMQ工作模式_Work queues_Publish/Subscribe_Routing_Topics_HeaderRpc
  5. PHP在线无人值守源码交易网站源码,集成支付宝微信接口
  6. java 知乎面试题_2019最新Java面试题,常见面试题及答案汇总(208道)
  7. NSTimer 销毁问题 和 iOS中控制器的释放问题
  8. web前端在线预览,编辑word文件的方法汇总(2021-7-14更新)
  9. GTP协议中的APN,TEID,NSAPI,TID
  10. matlab批量裁剪图像并保存,matlab批量裁剪tif图片
  11. 让cocos2d-x 3.0读取cocostudio中的csb文件
  12. 渥太华大学计算机科学COOP,渥太华大学专业哪个好
  13. 《XX项目产品需求说明书-精华版》
  14. [笔记]阿里云物联网之业务服务端(java、php)接入阿里云平台
  15. 微信小程序:全局状态管理mobx-miniprogram、mobx-miniprogram-bindings
  16. 多项式除以多项式例题讲解_多项式乘以多项式训练题.doc
  17. 关于java中的反射
  18. 股票深度分析,深度诊断股票
  19. (转载)纳豆的家庭制作、保存和食用
  20. [读书笔记] 代码整洁之道(一)

热门文章

  1. python中fetchall_Python连接MySQL并使用fetchall()方法过滤特殊字符
  2. STL源码剖析 multiset 和 multimap
  3. 三网融合情况下,实时语音通信技术的研究
  4. 《趋势的力量》-- 观念决定了个人发展的战略路线(大学生选择专业、就业、考研与否的建议)
  5. springboot 系列技术教程目录
  6. IPC 中 LPC、RPC 的区别和联系
  7. 虚拟机NAT模式联网
  8. 主席树的各类模板(区间第k大数【动,静】,区间不同数的个数,区间=k的个数)...
  9. 服务容错保护断路器Hystrix之七:做到自动降级
  10. C#曲线分析平台的制作(四,highcharts+ajax加载后台数据)