• MVC 模式——第3章


        在深入到 ASP.NET MVC 框架的细节之间,最好熟悉 MVC 的设计模式及其背后的思想。良好地理解 MVC 背后的内容,有助于在阅读本书的过程中将该框架的特性放到相关的情境之中。

    3.2 理解 MVC 模式

        从高级术语上说,MVC 模式意味着一个 MVC 应用程序将被分离成至少3个部分

        · 模型(Model):含有或表现用户进行操作的数据

            模型可以是简单的视图模型:它们只表现视图与控制器之间传递的数据;(可以在Web项目的Models文件夹中创建)

            也可以是域模型:它包含业务领域的数据,以及处理这些数据的操作、转换和规则。(可以在类库项目中创建Entity文件夹并在里面创建域模型)

        · 视图(View):用于将模型的某些部分渲染成用户界面

        · 控制器(Controller):处理传入的请求 — 执行模型上的操作,并选择渲染给用户的视图

        模型是对应用程序工作的定义。
        模型也由不是其职责的内容来定义:
          模型不涉及 UI 渲染或请求处理——那些是视图和控制器的职责。(不要将视图和控制器的职责放到模型中进行定义,这些不是模型的
        职责)

        视图含有将模型元素显示给用户的逻辑,仅此而已。(它们不直接感知模型,也不以任何方式与模型直接通信)

        控制器是视图与模型之间的桥梁——请求来自客户端,并由控制器对其进行服务,进而选择一个相应的视图向用户进行显示,并在必要时
      执行模型上的相应操作

        MVC 架构的每一个部分都是定义良好和自包含的,这称为关注分离

            模型中操作数据的逻辑仅包含在模型中,

            显示数据的逻辑仅包含在视图中

            而处理用户请求和用户输入的代码仅包含在控制器中

        利用各部分之间清晰的分离,无论应用程序有多大,在其整个生命周期中都会更易于维护和扩充。

    3.2.1 理解域模型

        MVC 应用程序最重要的部分是域模型(而不是只表现视图与控制器之间传递的数据的视图模型)。—— 对于应用程序必须支持的业务或活动中存在的现实实体、操作以及规则等,可以通过对它们进行标识的方法创建模型,这种模型被称为域模型。

        为了实现 MVC 框架的这一目的,域模型往往是一组 C# 类型(类、结构等),统称为域类型。

        域中的操作由域类型中定义的方法来实现,而域规则表示成这些方法中的逻辑。或者通过运用 C# 的注解属性来实现

        当创建一个域类型的实例来表现特定的数据片段时,便创建了一个域对象。

        域模型通常是持久化的,且一直处于活动状态其实现有许多不同方式,但关系型数据库是最通常的选择

    3.2.2 MVC 的 ASP.NET 实现

        在 MVC(ASP.NET)中 ,控制器是 C# 类,其中每一个 public 方法都称为是一个动作方法,这种动作方法通过 ASP.NET 的路由系统与一个可配置的 URL 相关联。

        当一个请求被发送给与一个动作方法相关联的 URL 时,便会执行控制器类中的语句,以进行域模型上的一些操作,然后选择一个视图显示给客户端。

        ASP.NET MVC 框架使用试图引擎处理视图,以便为浏览器生成响应。

        提示:visual studio 提供了对 Razor 的智能感应支持,十分便于对控制器提供的视图数据进行注入和响应。

        ASP.NET MVC 对域模型的实现没有任何约束,可以用常规的 C# 对象创建模型,并可以用 .NET 支持的任何数据库,对象关系映射(ORM)框架,或其他数据工具来实现持久化。

  • 相关阅读:
    socket-重叠模型(overlap)
    ssh 免密登陆
    安装google 框架
    为什么不同网段的ip 不能直接通信
    python中的import,reload,以及__import__
    C Runtime Library、C  Runtime
    SQLite3 C/C++ 开发接口简介
    mysql添加索引语句
    mysql 字段左右补0
    @Transactional注解的失效场景
  • 原文地址:https://www.cnblogs.com/zhangchaoran/p/7472280.html
Copyright © 2020-2023  润新知