diff --git "a/\346\235\216\345\250\234/20241113-mvc\345\210\235\350\257\206.md" "b/\346\235\216\345\250\234/20241113-mvc\345\210\235\350\257\206.md" new file mode 100644 index 0000000000000000000000000000000000000000..b3d5e4fa80feeb613ca3222f750db5a6ab7c051c --- /dev/null +++ "b/\346\235\216\345\250\234/20241113-mvc\345\210\235\350\257\206.md" @@ -0,0 +1,131 @@ +# 1. 什么是 ASP.NET MVC? + +ASP.NET MVC 是一种用于构建 Web 应用程序的框架,它基于 MVC(Model-View-Controller)设计模式。它允许开发者将应用程序的逻辑、数据和表示分离,从而提高应用程序的可维护性和可测试性。 + +## 2. 核心组件 + +### 2.1 Model(模型) +- 代表应用程序的数据和业务逻辑。 +- 通常与数据库交互,处理数据的获取、更新和验证。 +- 可以是简单的数据类,也可以是复杂的业务逻辑类。 + +### 2.2 View(视图) +- 负责显示数据。 +- 通常是 HTML 页面,也可以是 JSON、XML 等其他格式。 +- 与控制器交互,接收数据并将其格式化为用户界面。 + +### 2.3 Controller(控制器) +- 作为模型和视图之间的中介。 +- 处理用户的输入,调用模型来处理数据,并选择相应的视图来显示结果。 +- 负责应用程序的流程控制和用户交互。 + +## 3. 路由 + +路由是 ASP.NET MVC 中用于将 URL 映射到控制器和动作的方法。它定义了应用程序的 URL 结构。 + +### 3.1 路由配置 +- 在 `RouteConfig.cs` 文件中配置路由。 +- 默认路由格式为:`{controller}/{action}/{id}`。 + +### 3.2 自定义路由 +- 可以创建自定义路由来满足特定的 URL 需求。 +- 使用 `routes.MapRoute` 方法定义自定义路由。 + +## 4. 控制器 + +控制器是处理用户请求并返回视图的类。 + +### 4.1 控制器基类 +- 所有控制器都继承自 `Controller` 类。 +- 提供了处理请求、访问模型和返回视图的方法。 + +### 4.2 动作方法 +- 控制器中的公共方法称为动作方法。 +- 动作方法处理特定的用户请求并返回视图。 + +### 4.3 视图结果 +- 控制器方法通常返回 `ViewResult` 对象。 +- `ViewResult` 包含要显示的视图和传递给视图的数据。 + +## 5. 视图 + +视图是显示数据的 HTML 页面。 + +### 5.1 视图引擎 +- ASP.NET MVC 使用视图引擎来渲染视图。 +- 默认视图引擎是 Razor 视图引擎。 + +### 5.2 视图模型 +- 视图模型是传递给视图的数据对象。 +- 通常包含视图需要显示的数据。 + +### 5.3 布局和部分视图 +- 布局视图定义了应用程序的通用布局。 +- 部分视图是可重用的视图片段。 + +## 6. 模型 + +模型是应用程序的数据和业务逻辑的表示。 + +### 6.1 模型绑定 +- 模型绑定是将用户输入绑定到模型对象的过程。 +- 使用 `[Bind]` 属性来指定哪些属性应该绑定。 + +### 6.2 验证 +- 使用数据注解来验证模型的属性。 +- 验证规则包括必填字段、格式验证等。 + +# 2. dotnet命令有哪些? +`dotnet` 是 .NET Core(现在称为 .NET 5 及更高版本,统称为 .NET)的命令行工具,它提供了一套用于构建、运行和管理 .NET 应用程序的命令。这个工具是 .NET 开发者的重要组成部分,它使得开发者能够在任何支持的平台上(Windows、macOS、Linux)构建和运行 .NET 应用程序。以下是 `dotnet` 工具的一些主要用途: + +1. **创建新项目**: + - 使用 `dotnet new` 命令可以创建新的 .NET 项目。这个命令支持多种模板,包括控制台应用、Web 应用、类库等。 + +2. **运行应用程序**: + - `dotnet run` 命令用于编译并运行 .NET 应用程序。这个命令会自动查找项目文件并启动应用程序。 + +3. **构建应用程序**: + - `dotnet build` 命令用于编译项目并生成可执行文件或库。这个命令不会运行应用程序,只是构建它。 + +4. **发布应用程序**: + - `dotnet publish` 命令用于将应用程序发布到指定的目录,以便在没有 .NET SDK 的机器上运行。 + +5. **管理 NuGet 包**: + - `dotnet add package`、`dotnet remove package` 和 `dotnet restore` 命令用于管理项目依赖的 NuGet 包。 + +6. **运行测试**: + - `dotnet test` 命令用于运行项目中的单元测试。 + +7. **打包应用程序**: + - `dotnet pack` 命令用于将项目打包成 NuGet 包,以便于分发和重用。 + +8. **迁移项目**: + - `dotnet migrate` 命令(在某些版本中可能有所不同)用于将旧版本的 .NET 项目迁移到新版本。 + +9. **清理项目**: + - `dotnet clean` 命令用于清理项目,删除生成的输出文件。 + +10. **查看帮助信息**: + - `dotnet --help` 命令显示所有可用的 `dotnet` 命令及其简要说明。 + +11. **配置项目**: + - `dotnet msbuild` 命令允许你使用 MSBuild 任务来配置和构建项目。 + +@startmindmap + * 解决方案 + * 项目 + * 后台管理项目 + * 前后端分离技术 + * 前端 + * vue3 + * 后端 + * Admin3000.Core + * Admin3000.Domain + * Admin3000.EntityFrameworkCore + * Admin3000.Infrastructure + * 项目组织结构 + * 解决方案和项目结构 + * MVC项目结构 + * linux的一些小机密 + +@endmindmap \ No newline at end of file