zoukankan      html  css  js  c++  java
  • 初识ASP.NET MVC 4

    初识ASP.NET MVC 

       顾名思义,ASP.NET MVC 即为建立在ASP.NET平台上的一种(像web Forms一样)应用框架而该框架的设计思想是采用MVC架构模式。

    一、什么是MVC呢?

       MVC体现了关注点分离这一基本的设计方针,它将构成一个人机交互应用涉及的功能分为ModelControllerView三部分。

       Model是对应用状态和业务功能的封装,我们可以将它理解为同时包含数据和行为的领域模型(Domain Model)。Model接受Controller的请求并完成响应的业务处理,在状态改变的时候向View发出相应的通知。

       View实现可视化界面的呈现并捕捉最终用户的交互操作(比如鼠标和键盘操作)。

       Controller: View捕获到用户交互操作后会直接转发给Controller,后者完成相应的UI逻辑。如果涉及业务功能的调用,Controller会直接调用Model。在完成UI处理后,Controller会很据需要控制愿View或者创建新的View对用户交互操作予以响应。

        

       关注点分离:一个典型的人机交互应用具有三个主要的关注点,即数据在可视化界面上的呈现、UI处理逻辑(用于处理用户交互式操作的逻辑)和业务逻辑。而关注点分离即将三者分离开来,采用合理的交互方式将它们之间的依赖关系降到最低

     

     

    通俗易懂的说法:

    模型,包含或表示了用户与之工作的数据,这些可以是简单的视图模型,它只是表现在视图与控制器之间传递的数据;也可以是域模型,它含有业务领域的数据以及处理这些数据的操作和转换规则

    视图,用于把模型的某个部分渲染成UI(用户界面)

    控制器,处理传入的请求,执行模型的操作,选择渲染给用户的视图

      

    模型不涉及渲染UI或处理请求那些是视图和控制器的责任,视图含有把模型元素显示给用户的逻辑,其它的什么也没有,他们不直接感知模型,也不以任何方式与模型直接通信,控制器是视图与模型之间的粘合剂。请求来自客户端并由控制器进行服务,控制器选择一个相应的视图向用户进行显示,而且如果需要,执行模型上的一个相关操作

    二、MVC对比其它模式

     

    “智能UI”模式

     

          最通用的设计模式之一称为智能UI(用户界面-译者注)。大多数的程序员都有过智能UI应用程序的经历,最常见的就是经常用的Windows表单或ASP.NET Web表单。

     

      要建立一个智能UI应用程序,开发者要构造一个UI,通常是把一组组件或控件拖拽到一个设计界面或画布上,控件通常通过对点击按钮、按键、鼠标移动等发出事件与用户进行交互。开发者把代码添加到一系列事件处理程序中以对这些事件作出相应,事件是一小段代码,当一个特定组件上的某个事件被触发时,这段代码被调用,在做这些事情的时候,处理UI以及业务的代码全部都混在一起,根本没有任何关系分离。这种设计最大的障碍就是难以维护和扩展。域模型与业务逻辑和UI代码混合在一起导致了复制,要复制并粘贴同样的业务逻辑片段以支持新添加的组件。找出所有复制部分并进行修改可能很困难,在一个复杂的只能UI应用程序中,添加一个新特性而不打断原来已经存在的特性几乎是不可能的。

     

      相比之下,MVC中各个模块都是各自封装好的,模型操作数据的逻辑只包含在模型中,显示数据的逻辑只在视图中,而处理用户请求和输入的代码只包含在控制器中,利用每个部分之间清晰的分离,应用程序在其生命周期中将更容易维护和扩充,无论它会变得有多大。

     

      但不是说智能UI模式就没有优点,其快速切易于开发,组件和设计工具全面且容易使用,尤其对于界面的设计更显得占优势。当开发一个较简单的小型的应用程序时,智能UI应用程序可能是完美的解决方案,因为MVC太过复杂。

     

  • 相关阅读:
    BitmapDrawable
    Understanding Density Independence in Android
    HttpURLConnection
    [Unity3D]事半功倍:界面插件NGUI的使用教程与实例
    lua下标
    数组形参
    Hibernate的一级缓存
    必备技术
    idea 跳转实现类-快捷键
    JavaSE面试题:单例设计模式
  • 原文地址:https://www.cnblogs.com/beliee/p/3515678.html
Copyright © 2011-2022 走看看