# AspApiDemo **Repository Path**: hopesy/asp-api-demo ## Basic Information - **Project Name**: AspApiDemo - **Description**: 基于ASP.NET Core API的分层架构示例项目,采用领域驱动设计(DDD)思想构建 - **Primary Language**: C# - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-04-10 - **Last Updated**: 2025-05-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: Aspnet ## README # ASPApiDemo 这是一个基于ASP.NET Core API的分层架构示例项目,采用领域驱动设计(DDD)思想构建。 ## 项目架构 项目采用经典的分层架构设计-仓储模式:仓储层只关心对象实例的控制,以及拿到对象实例;服务层对具体的业务逻辑进行处理;为了保证安全,每个接口都是采用视图模型对外开放,同时依赖了仓储。 ### 1. 项目结构 ``` ASPApiDemo/ ├── ASPApiDemo/ # 主项目 │ ├── Controllers/ # API控制器 │ ├── Program.cs # 应用程序入口 │ └── Extensions/ # 扩展方法 ├── ASPApiDemo.Model/ # 模型层 │ ├── Entities/ # 数据库实体 │ └── DTOs/ # 数据传输对象 ├── ASPApiDemo.Repository/ # 数据访问层 │ ├── Base/ # 基础仓储实现 │ └── Implementations/ # 具体仓储实现 ├── ASPApiDemo.IService/ # 服务接口层 │ └── Base/ # 基础服务接口 ├── ASPApiDemo.Service/ # 服务实现层 │ └── Base/ # 基础服务实现 └── ASPApiDemo.Common/ # 公共组件层 ├── Extensions/ # 扩展方法 └── Utils/ # 工具类 ``` ### 2. 技术栈 - .NET Core 8.0 - Entity Framework Core - AutoMapper - Swagger/OpenAPI - 依赖注入 - 泛型编程 ### 3. 核心功能 - 基础CRUD操作 - 对象映射 - API文档自动生成 - 依赖注入 - 仓储模式实现 ## 项目特点 1. **分层架构** - 清晰的分层设计 - 各层职责明确 - 代码复用性高 2. **设计模式** - 仓储模式 - 依赖注入 - 泛型编程 - 接口分离 3. **最佳实践** - SOLID原则 - 领域驱动设计 - 代码规范 - 单元测试支持 ### 添加新功能 1. 在Model层添加实体Entity和视图模型DTO 2. 在Repository层实现数据访问 3. 在IService层定义服务接口 4. 在Service层实现业务逻辑 5. 在Controller层暴露API