zoukankan      html  css  js  c++  java
  • MVC学习笔记1 MVC概述

    MVC概述

    MVC三种角色

    – Model   用于存储数据的组件(与领域模型概念不同)。

    – View    根据Model数据进行内容展示的组件

    – Controller:接受并处理用户指令(操作Model),选择一个View并输出内容。

    MVC概述:两种分离

    • View和数据(Model)分离

    能够为相同的Model开发不同的View进行展示

    分离可视与不可视得组件,能够对Model进行独立测试(只有ViewModel的单向引用)

    • View和表现逻辑(Controller)分离

    分离逻辑与具体展示,能够对逻辑进行独立测试(只有ControllerView的单向引用)

    MVC与三层架构

    • MVC与三层架构类似?

    – View – UI Layer

    – Controller – BL Layer

    – Model – DA Layer

    其实不然

    – MVC表现模式Presentation Pattern

    三层架构是架构模式Architecture Pattern

        没有太多可比性

    MVC之间无依赖关系,MVC之间是协作关系,没有层次的关系。MVC不是分层。

    WebForms vs ASP.NET MVC

    • WebForms的优点

    Web开发抽象成一个组件模型

    使用方便,入门容易

    使控件产业大大加强

    • WebForms的缺点

    封装太强——这还是Web开发吗?

    入门容易,用好难

    不易进行单元测试,前后台不易配合

    不过WebForms也在成长

     

    ASP.NET MVC的优势

    直接,Web开发就是Web开发

    易于对界面逻辑进行单元测试

    – Design for testability

    易于后台与前台开发人员的配合

    ASP.NET MVC是在ASP.NET平台下开发Web应用程序的另一选择,并非为了取代WebForms

     

    ASP.NET MVC的特点

    一切都是可替换的

    ViewEngine

    Action Filter

    一切都是可测试的

    公开源代码

    可以修改

    –不可重新发布

     

     

     

    Code
     
    return View();表示要展现一个aspx 默认情况下显示同名aspx页面:Views/Home/Index.aspx
    当然你也可以自己指定,例如return  View("index1")就是显示Views/Home/Index1.aspx
     
  • 相关阅读:
    【转】Aspose.Cells读取excel文件
    sencha treestore 取消自动加载数据
    百度地图js根据经纬度定位和拖动定位点
    sencha gridpanel checkbox 复选框的勾选 以及和单机行冲突
    c# tcp备忘及networkstream.length此流不支持查找解决
    小程序view排版
    .net+mvc,ueditor
    爬虫BS4—淘女郎
    爬虫手动流程
    python web cgi
  • 原文地址:https://www.cnblogs.com/dupeng0811/p/1495958.html
Copyright © 2011-2022 走看看