项目

创建初始解决方案

在本教程的第一部分,我们将创建一个启用了模块化功能的新 ABP 解决方案。

开始创建新的 ABP 解决方案

按照 入门指南 创建一个单层 Web 应用程序,配置如下:

  • 解决方案名称ModularCrm
  • UI 框架:ASP.NET Core MVC / Razor Pages
  • 数据库提供程序:Entity Framework Core

其他选项可根据个人偏好选择,但在 模块化 步骤中,请勾选 设置为模块化解决方案 选项,并添加一个名为 ModularCrm.Catalog 的新 标准模块

模块化是 ABP 框架的核心特性之一,它提供了从开始就创建模块化系统的选项。在此,您使用 标准模块 模板创建了一个 ModularCrm.Catalog 模块。

注意: 本教程将引导您创建两个模块:CatalogOrdering。我们刚刚在 模块化 步骤中创建了 Catalog 模块。您也可以在此阶段创建 Ordering 模块。但是,为了更好地演示 ABP Studio 的模块管理能力,并模拟更贴近实际开发的工作流程(模块通常是随着应用演进逐步添加的),我们将在本教程后续部分创建 Ordering 模块。

关于模块模板

标准模块 模板建议用于构建模块化单体应用程序(一个由多个相互交互的模块组成的单一应用),本教程将使用此模板;而 DDD 模块 模板建议用于创建可重用的应用模块(一个通用模块用于不同的应用中),支持多种架构类型。要了解更多关于 DDD 模块模板的信息,请参阅 应用模块模板 文档。

解决方案结构

请先完成 入门指南 并运行 Web 应用程序,再继续后续步骤。

初始的解决方案结构在 ABP Studio 的 解决方案资源管理器 中应如下图所示:

solution-explorer-modular-crm-initial-with-modules

最初,您会看到一个包含两个解决方案文件夹的 ModularCrm 解决方案:

  • main:该文件夹包含 ModularCrm ABP Studio 模块,这是解决方案的主可执行 Web 应用程序。
  • modules:用于放置您的模块的文件夹。初始时包含 ModularCrm.Catalog 模块。

ABP Studio 模块 通常是一个独立的 .NET 解决方案。而 ABP Studio 解决方案 是一个涵盖多个 .NET 解决方案的伞形概念(详见 概念说明 文档)。

Catalog 模块的包

展开 ModularCrm.Catalog 模块,您可以看到它的 .NET 项目(ABP Studio 包):

abp-studio-catalog-module-expanded-in-solution-explorer

  • ModularCrm.Catalog:主模块项目,包含您的 实体应用服务 实现以及其他业务对象
  • ModularCrm.Catalog.Contracts:主要包含 应用服务 接口和 DTO。这些接口可供客户端模块用于集成,或供用户界面执行与该模块相关的用例
  • ModularCrm.Catalog.Tests:该模块的单元测试和集成测试(如果您选择了 包含测试 选项)
  • ModularCrm.Catalog.UI:包含该模块的用户界面页面和组件

总结

您已经创建了包含 Catalog 模块的初始单层单体模块化解决方案。在 下一部分 中,您将学习如何将 Catalog 模块安装到主应用程序中。


在本文档中