From ee107d74c48a7898cb9d0e7889f592d6208535a0 Mon Sep 17 00:00:00 2001 From: TekH Date: Fri, 9 Oct 2026 15:24:17 +0200 Subject: [PATCH] Add DI setup for modular architecture Introduced `DependencyInjection.cs` in Application and Infrastructure layers to centralize service registration. Updated project files to include necessary package references (`Microsoft.Extensions.Configuration.Abstractions` and `Microsoft.Extensions.DependencyInjection.Abstractions`) and project dependencies between layers. Integrated service registration in `Program.cs` to enable modular architecture for the API. --- .../DependencyInjection.cs | 14 ++++++++++++++ .../DigitalData.TaskFlow.Application.csproj | 9 +++++++++ .../DependencyInjection.cs | 14 ++++++++++++++ .../DigitalData.TaskFlow.Infrastructure.csproj | 10 ++++++++++ .../DigitalData.TaskFlow.API.csproj | 5 +++++ .../DigitalData.TaskFlow.API/Program.cs | 6 ++++++ 6 files changed, 58 insertions(+) create mode 100644 src/core/DigitalData.TaskFlow.Application/DependencyInjection.cs create mode 100644 src/infrastructure/DigitalData.TaskFlow.Infrastructure/DependencyInjection.cs diff --git a/src/core/DigitalData.TaskFlow.Application/DependencyInjection.cs b/src/core/DigitalData.TaskFlow.Application/DependencyInjection.cs new file mode 100644 index 0000000..c51876f --- /dev/null +++ b/src/core/DigitalData.TaskFlow.Application/DependencyInjection.cs @@ -0,0 +1,14 @@ +using Microsoft.Extensions.Configuration; +using Microsoft.Extensions.DependencyInjection; + +namespace DigitalData.TaskFlow.Application; + +public static class DependencyInjection +{ + public static IServiceCollection AddApplicationServices(this IServiceCollection services, IConfiguration configuration) + { + // Register application services here + // Example: services.AddSingleton(); + return services; + } +} diff --git a/src/core/DigitalData.TaskFlow.Application/DigitalData.TaskFlow.Application.csproj b/src/core/DigitalData.TaskFlow.Application/DigitalData.TaskFlow.Application.csproj index fa71b7a..ab7cc5f 100644 --- a/src/core/DigitalData.TaskFlow.Application/DigitalData.TaskFlow.Application.csproj +++ b/src/core/DigitalData.TaskFlow.Application/DigitalData.TaskFlow.Application.csproj @@ -6,4 +6,13 @@ enable + + + + + + + + + diff --git a/src/infrastructure/DigitalData.TaskFlow.Infrastructure/DependencyInjection.cs b/src/infrastructure/DigitalData.TaskFlow.Infrastructure/DependencyInjection.cs new file mode 100644 index 0000000..c2a1f5e --- /dev/null +++ b/src/infrastructure/DigitalData.TaskFlow.Infrastructure/DependencyInjection.cs @@ -0,0 +1,14 @@ +using Microsoft.Extensions.Configuration; +using Microsoft.Extensions.DependencyInjection; + +namespace DigitalData.TaskFlow.Infrastructure; + +public static class DependencyInjection +{ + public static IServiceCollection AddInfrastructureServices(this IServiceCollection services, IConfiguration configuration) + { + // Register infrastructure services here + // Example: services.AddSingleton(); + return services; + } +} diff --git a/src/infrastructure/DigitalData.TaskFlow.Infrastructure/DigitalData.TaskFlow.Infrastructure.csproj b/src/infrastructure/DigitalData.TaskFlow.Infrastructure/DigitalData.TaskFlow.Infrastructure.csproj index fa71b7a..85f39f8 100644 --- a/src/infrastructure/DigitalData.TaskFlow.Infrastructure/DigitalData.TaskFlow.Infrastructure.csproj +++ b/src/infrastructure/DigitalData.TaskFlow.Infrastructure/DigitalData.TaskFlow.Infrastructure.csproj @@ -6,4 +6,14 @@ enable + + + + + + + + + + diff --git a/src/presentation/DigitalData.TaskFlow.API/DigitalData.TaskFlow.API.csproj b/src/presentation/DigitalData.TaskFlow.API/DigitalData.TaskFlow.API.csproj index 0c56541..3b59ea3 100644 --- a/src/presentation/DigitalData.TaskFlow.API/DigitalData.TaskFlow.API.csproj +++ b/src/presentation/DigitalData.TaskFlow.API/DigitalData.TaskFlow.API.csproj @@ -14,4 +14,9 @@ + + + + + diff --git a/src/presentation/DigitalData.TaskFlow.API/Program.cs b/src/presentation/DigitalData.TaskFlow.API/Program.cs index 48863a6..6749ecf 100644 --- a/src/presentation/DigitalData.TaskFlow.API/Program.cs +++ b/src/presentation/DigitalData.TaskFlow.API/Program.cs @@ -1,6 +1,12 @@ +using DigitalData.TaskFlow.Application; +using DigitalData.TaskFlow.Infrastructure; + var builder = WebApplication.CreateBuilder(args); +var config = builder.Configuration; // Add services to the container. +builder.Services.AddApplicationServices(config); +builder.Services.AddInfrastructureServices(config); builder.Services.AddControllers(); // Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle