Onion Architecture ASP.NET Core 项目教程

Onion Architecture ASP.NET Core 项目教程

Onion-architecture-ASP.NET-CoreWhiteApp API solution template which is built on Onion Architecture with all essential feature using .NET 5!项目地址:https://gitcode.com/gh_mirrors/on/Onion-architecture-ASP.NET-Core

1. 项目的目录结构及介绍

Onion-architecture-ASP.NET-Core/
├── src/
│   ├── Application/
│   │   ├── Behaviours/
│   │   ├── Common/
│   │   ├── Contracts/
│   │   ├── Features/
│   │   ├── Mapping/
│   │   └── Validators/
│   ├── Domain/
│   │   ├── Entities/
│   │   └── Common/
│   ├── Infrastructure/
│   │   ├── Identity/
│   │   ├── Persistence/
│   │   └── Services/
│   ├── Presentation/
│   │   ├── Api/
│   │   └── WebUI/
│   └── OnionArchitecture.sln
├── tests/
│   ├── Application.UnitTests/
│   ├── Infrastructure.IntegrationTests/
│   └── WebUI.AcceptanceTests/
└── README.md

目录结构介绍

  • src/Application: 包含应用程序的业务逻辑和规则。

    • Behaviours: 行为处理。
    • Common: 通用功能。
    • Contracts: 接口定义。
    • Features: 功能模块。
    • Mapping: 对象映射。
    • Validators: 数据验证。
  • src/Domain: 包含领域模型和实体。

    • Entities: 实体类。
    • Common: 领域通用功能。
  • src/Infrastructure: 包含基础设施代码,如数据访问、身份验证和服务。

    • Identity: 身份验证相关。
    • Persistence: 数据持久化。
    • Services: 服务实现。
  • src/Presentation: 包含应用程序的展示层,如API和Web界面。

    • Api: API接口。
    • WebUI: Web用户界面。
  • tests: 包含项目的测试代码。

    • Application.UnitTests: 应用程序单元测试。
    • Infrastructure.IntegrationTests: 基础设施集成测试。
    • WebUI.AcceptanceTests: Web界面验收测试。

2. 项目的启动文件介绍

项目的启动文件位于 src/Presentation/Api/Program.cssrc/Presentation/Api/Startup.cs

Program.cs

using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Hosting;

namespace Api
{
    public class Program
    {
        public static void Main(string[] args)
        {
            CreateHostBuilder(args).Build().Run();
        }

        public static IHostBuilder CreateHostBuilder(string[] args) =>
            Host.CreateDefaultBuilder(args)
                .ConfigureWebHostDefaults(webBuilder =>
                {
                    webBuilder.UseStartup<Startup>();
                });
    }
}

Startup.cs

using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;

namespace Api
{
    public class Startup
    {
        public Startup(IConfiguration configuration)
        {
            Configuration = configuration;
        }

        public IConfiguration Configuration { get; }

        public void ConfigureServices(IServiceCollection services)
        {
            services.AddControllers();
            // 添加其他服务配置
        }

        public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }

            app.UseHttpsRedirection();

            app.UseRouting();

            app.UseAuthorization();

            app.UseEndpoints(endpoints =>
            {
                endpoints.MapControllers();
            });
        }
    }
}

3. 项目的配置文件介绍

项目的配置文件主要位于 src/Presentation/Api/appsettings.json

appsettings.json

{
  "ConnectionStrings": {
    "DefaultConnection": "Server=localhost;Database=OnionArchitecture;User Id=sa;Password=your_password;"
  },
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft

Onion-architecture-ASP.NET-CoreWhiteApp API solution template which is built on Onion Architecture with all essential feature using .NET 5!项目地址:https://gitcode.com/gh_mirrors/on/Onion-architecture-ASP.NET-Core

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

缪昱锨Hunter

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值