Rumah pembangunan bahagian belakang Tutorial C#.Net [ASP.NET MVC 小牛之路]01 - 理解MVC模式

[ASP.NET MVC 小牛之路]01 - 理解MVC模式

Dec 30, 2016 pm 01:42 PM

ASP.NET
MVC 小牛之路]01 - 理解MVC模式

PS:MVC出来很久了,工作上一直没机会用。出于兴趣,工作之余我将展开对MVC的深入学习,通过博文来记录所学所得,并希望能得到各位园友的斧正。

本文目录


理解一般意义上的MVC模式

MVC模式(Model-View-Controller)是软件工程中的一种软件架构模式,把软件系统分为以下三个基本部分:

模型(Model):模型用于封装与应用程序的业务逻辑相关的数据以及对数据的处理方法。“模型”有对数据直接访问的权力,例如对数据库的访问。“模型”不依赖“视图”和“控制器”,也就是说,模型不关心它会被如何显示或是如何被操作。
视图(View):视图能够实现数据有目的的显示。在视图中一般没有程序上的逻辑。
控制器(Controller) :控制器起到不同层面间的组织作用,用于控制应用程序的流程。它处理事件并作出响应。“事件”包括用户的行为和数据模型上的改变。

上面的定文来自维基百科。根据上面的定文和我个人的理解,我画了下面这样一张表示MVC各部分关系的图:

733.png

注意,不同的平台和不同的语言框架对MVC的定义各有不同,并没有一个明确的定义。但大体上,MVC模式中的每个部分是分工明确、界定清晰的。操作数据的逻辑只存在于模型中,呈现数据的逻辑只存在于视图中,处理用户的请求和输入只存在于控制器中。不管应用程序有多大、处于哪段生命周期,这种清晰的关注点分离(separation of concerns)的MVC模式让我们的应用程序更容易维护和扩展。

理解领域模型

领域模型(Domain Model) 是对领域内的概念类或现实世界中对象的可视化表示。又称概念模型、领域对象模型、业务对象模型。它专注于分析问题领域本身,发掘重要的业务领域概念,并建立业务领域概念之间的关系。 领域模型是描述业务用例实现的对象模型,它是对业务角色和业务实体之间应该如何联系和协作以执行业务的一种抽象。

对于MVC应用程序,领域模型是一个非常重要的部分。在某种行业内,我们根据现实世界的实体、相关的操作和规则来创建模型(Model)。对于C#程序来说,领域模型就是一组封装现实世界对象的C#类型(类、结构等);领域内对对象的一些操作(或者叫处理),则是定义在C#类型中的方法(Method);而领域内对对象操作的一些规则就是方法内部的逻辑处理,比如C#中的属性读写器的get和set方法对读写类成员的控制。举个例子:

比如银行这个领域,个人的“银行帐户”可以建成一个模型。每个账户都有“银行卡消费”这项操作,即银行账户模型下的一个方法。“不能透支消费”是对这个帐户使用银行卡的约束规则,这个规则就是定义在银行卡消费方法内部的逻辑处理。

上面说的虽然有点抽象,但还是很容易理解的。而我对领域模型的理解只能到这里了,朋友们好好体会吧。总之,在MVC应用程序中,我们要有这样一个概念:要通过Model操作数据,或添加一项操作,或给某项操作添加、改变一个规则,这些都是在改变应用程序的领域模型。

理解ASP.NET中的MVC

概括的讲ASP.NET MVC有如下特点:

通过把项目分成model view和controller,这种任务分离(亦称关注点分离),使得复杂项目更加容易维护,另外测试驱动组件使得应用程序也更加容易测试。
可扩展的简便的框架。mvc框架被设计用来更轻松的移植和定制功能。你可以加入自己的视图引擎,url重写策略,重载action方法等。mvc也支持Dependency Injection (DI) 和 Inversion of Control (IOC)。强大的url重写机制让你更方便的建立容易理解和可搜索的url。url可以不包含任何文件扩展名,并且可以重写url使其对搜索引擎更加友好。
对现有的asp.net程序的支持,可以使用asp.net现有的页面标记、用户控件、模板页、数据绑定等等。
……

在ASP.NET MVC中,控制器通常是继承System.Web.Mvc.Controller的类。控制器中类的每个公共方法被称为Action方法。ASP.NET路由系统内部根据请求的URL和路由配置调用对应的Action方法,完成领域模型的操作后,再选择一个视图呈现给客户端。下图显示了ASP.NET MVC中Controller、Model和View之间的关系:

734.png

另外,ASP.NET MVC框架可以使用任何被.NET支持的数据库、ORM框架和其他工具。

对于初学者,我觉得对ASP.NET MVC的概念了解到这就差不多了。如果想更好的理解ASP.NET中 MVC的概念建议访问MSDN文档。

如果你是新手,为了帮助你理解,建议自己做几个简单的Demo,可参考另一位园友的无废话MVC入门教程系列博文。

 以上就是[ASP.NET MVC 小牛之路]01 - 理解MVC模式的内容,更多相关内容请关注PHP中文网(www.php.cn)!


Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Pembangunan PHP: Menggunakan CodeIgniter untuk melaksanakan corak MVC dan API RESTful Pembangunan PHP: Menggunakan CodeIgniter untuk melaksanakan corak MVC dan API RESTful Jun 16, 2023 am 08:09 AM

Memandangkan aplikasi web terus berkembang, adalah penting untuk membangunkan aplikasi dengan lebih cepat dan cekap. Dan, memandangkan API RESTful digunakan secara meluas dalam aplikasi web, pembangun perlu memahami cara mencipta dan melaksanakan API RESTful. Dalam artikel ini, kita akan membincangkan cara untuk melaksanakan corak MVC dan API RESTful menggunakan rangka kerja CodeIgniter. Pengenalan kepada corak MVC MVC (Model-Vie

Fahami fungsi dan ciri yang Laravel boleh laksanakan Fahami fungsi dan ciri yang Laravel boleh laksanakan Mar 07, 2024 am 08:06 AM

Laravel ialah rangka kerja PHP popular yang digunakan secara meluas dalam bidang pembangunan web. Ia menyediakan banyak fungsi dan ciri berkuasa yang membolehkan pembangun membina aplikasi web yang berkualiti tinggi dan boleh diselenggara dengan cepat. Dalam artikel ini, kami akan menyelidiki fungsi dan ciri yang Laravel boleh laksanakan, dan memberikan contoh kod khusus. 1. Seni bina MVC Laravel menggunakan seni bina berdasarkan corak reka bentuk MVC (Model-View-Controller) untuk menyusun dan mengurus kod.

Menggunakan corak MVC dalam ThinkPHP6 Menggunakan corak MVC dalam ThinkPHP6 Jun 20, 2023 am 11:06 AM

ThinkPHP6 ialah rangka kerja PHP popular yang menggunakan corak MVC (Model-View-Controller) untuk menyusun struktur logik aplikasi. Corak MVC ialah corak reka bentuk untuk pengaturcaraan berorientasikan objek yang membahagikan aplikasi kepada tiga bahagian: Model, View dan Controller. Setiap bahagian mempunyai tanggungjawab bebasnya, menjadikan aplikasi mudah diselenggara dan dilanjutkan. Artikel ini akan memperkenalkan cara menggunakan

Bagaimana untuk melaksanakan corak seni bina MVC dalam rangka kerja PHP? Bagaimana untuk melaksanakan corak seni bina MVC dalam rangka kerja PHP? Jun 05, 2023 pm 03:31 PM

Dengan perkembangan pesat teknologi Internet, pelbagai bahasa pengaturcaraan dan rangka kerja sentiasa muncul, sebagai bahasa pengaturcaraan yang popular secara global, digunakan secara meluas dalam bidang pembangunan Web. Apabila aplikasi web terus meningkat dan menjadi lebih kompleks, untuk mengatur dan mengurus kod dengan lebih baik, pembangun telah menggunakan corak seni bina MVC (Model-View-Controller). Corak MVC ialah corak reka bentuk perisian yang membahagikan aplikasi kepada tiga bahagian: data (Model), antara muka pengguna (View) dan pengawal (C

Mengapa memilih rangka kerja CodeIgniter? Mengapa memilih rangka kerja CodeIgniter? Jun 03, 2023 am 08:21 AM

CodeIgniter ialah rangka kerja PHP yang ringkas dan ringan yang digunakan secara meluas untuk membangunkan aplikasi web dengan pantas. Sejak penubuhannya pada tahun 2006, CodeIgniter telah menjadi rangka kerja pilihan bagi banyak pembangun. Dalam artikel ini, kami akan meneroka sebab untuk memilih rangka kerja CodeIgniter dan membincangkan kelebihan utamanya. Lightweight CodeIgniter ialah rangka kerja ringan Fail teras rangka kerja hanya kira-kira 2MB, yang menjadikannya sangat baik dari segi kelajuan dan prestasi larian. dengan rasa sakit yang lain

Minta reka bentuk respons dalam PHP Minta reka bentuk respons dalam PHP May 23, 2023 am 08:22 AM

Dalam pembangunan web, respons permintaan adalah konsep yang sangat penting. Untuk pembangun PHP, adalah perlu untuk memahami reka bentuk respons permintaan. Dalam PHP, permintaan merujuk kepada data yang dihantar oleh klien ke pelayan. Secara umumnya, data ini dihantar melalui penyerahan borang atau permintaan AJAX. Kandungan permintaan boleh termasuk kaedah permintaan HTTP, pengepala permintaan, parameter permintaan, badan permintaan dan maklumat lain. Respons mewakili respons pelayan terhadap permintaan pelanggan. Secara umumnya, kandungan respons mungkin termasuk H

Pembangunan rangka kerja PHP8 Model MVC: kaedah praktikal untuk meningkatkan kecekapan pasukan Pembangunan rangka kerja PHP8 Model MVC: kaedah praktikal untuk meningkatkan kecekapan pasukan Sep 11, 2023 pm 07:13 PM

Pembangunan rangka kerja PHP8 Corak MVC: kaedah praktikal untuk meningkatkan kecekapan pasukan Dalam pembangunan perisian hari ini, corak MVC (Model-View-Controller) digunakan secara meluas dalam pembangunan aplikasi Web. Ia menguraikan bahagian logik aplikasi kepada tiga komponen: model, pandangan, dan pengawal untuk mencapai seni bina gabungan tinggi dan gandingan rendah. PHP8 menyediakan lebih banyak ciri dan penambahbaikan, menjadikan aplikasi corak MVC dalam pembangunan rangka kerja lebih cekap dan mudah. Artikel ini akan memperkenalkan cara menggunakan rangka kerja PHP8 untuk membuka

Corak MVC pembangunan rangka kerja PHP8: cadangan praktikal untuk menyelesaikan cabaran Corak MVC pembangunan rangka kerja PHP8: cadangan praktikal untuk menyelesaikan cabaran Sep 11, 2023 pm 01:25 PM

[Pengenalan] Corak MVC (Model-View-Controller) digunakan secara meluas dalam pembangunan aplikasi Web. PHP ialah bahasa pengaturcaraan yang sangat popular dan mempunyai banyak rangka kerja pembangunan yang sangat baik, seperti Laravel dan Symfony. Dengan keluaran PHP8, pembangun telah menimbulkan beberapa cabaran tentang cara membangunkan aplikasi corak MVC dengan betul dalam PHP8. Artikel ini akan memberikan anda beberapa cadangan praktikal untuk membantu pembangun mengatasi cabaran ini. [1. Apa yang baharu dalam PHP8

See all articles