Retour au classement

zkavtaskin/Domain-Driven-Design-Example

C#

Blog series supplementary domain-driven design C# repository that (hopefully) actually makes sense.

domain-driven-designdddddd-architectureddd-patternscsharp
Croissance des étoiles
Étoiles
1.9k
Forks
442
Croissance hebdomadaire
Issues
3
5001k1.5k
mai 2014mai 2018juin 2022juil. 2026
README

Domain-Driven-Design-Example C#

Alt text

Repository objective: To supplement blog articles on DDD (see below) and create easy to follow Domain-driven design repository that makes sense (if it still makes no sense then please do let me know).

Please do note that this is my interpretation of Domain-driven design (i.e. biased). Please use this for theoretical / educational purposes only.

Articles

Applied Domain-Driven Design (DDD), Part 1 - Basics

Applied Domain-Driven Design (DDD), Part 2 - Domain events

Applied Domain-Driven Design (DDD), Part 3 - Specification Pattern

Applied Domain-Driven Design (DDD), Part 4 - Infrastructure

Applied Domain-Driven Design (DDD), Part 5 - Domain Service

Applied Domain-Driven Design (DDD), Part 6 - Application Services

Applied Domain-Driven Design (DDD), Part 7 - Read Model Services

Applied Domain-Driven Design (DDD), My Top 5 Best Practices

Applied Domain-Driven Design (DDD), Event Logging & Sourcing For Auditing

alt tag

Structure

  • eCommerce.WebService
  • eCommerce
    • ApplicationLayer
      • Domain Area
        • Dto
        • Interface
        • Implementation
    • DomainModelLayer
      • Domain Area
        • Entity
        • Enum
        • Spec
        • Value
        • Event
    • InfrastructureLayer

API

To keep things simple I have created in memory repository with few saved items. To start using simply download, open solution and run.

Customer

Customer already exists (John Smith, ID: 5D5020DA-47DF-4C82-A722-C8DEAF06AE23).

But if you would like to add my customers here are urls that you can call:

api/customer/add?FirstName=john2&LastName=smith2&Email=john2.smith2@microsoft.com

api/customer/Getbyid/5D5020DA-47DF-4C82-A722-C8DEAF06AE23

api/customer/IsEmailAvailable?email=smith.john@microsoft.com

api/customer/RemoveById/5D5020DA-47DF-4C82-A722-C8DEAF06AE23

api/customer/update?id=5D5020DA-47DF-4C82-A722-C8DEAF06AE23&Email=smith.john@microsoft.com

Product

Product already exists (iPhone, ID: 65D03D7E-E41A-49BC-8680-DC942BABD10A).

But if you would like to add more products here are urls that you can call:

api/product/add?name=iPhone5&quantity=6&cost=422&productcodeid=B2773EBF-CD0C-4F31-83E2-691973E32531

api/product/get/65D03D7E-E41A-49BC-8680-DC942BABD10A

Cart

Customer and product already exists, so feel free just to call these urls:

/api/cart/add?customerid=5D5020DA-47DF-4C82-A722-C8DEAF06AE23&productid=65D03D7E-E41A-49BC-8680-DC942BABD10A&quantity=1

/api/cart/getbyid?customerid=5D5020DA-47DF-4C82-A722-C8DEAF06AE23

/api/cart/remove?customerid=5D5020DA-47DF-4C82-A722-C8DEAF06AE23&productid=65d03d7e-e41a-49bc-8680-dc942babd10a&Quantity=1

/api/cart/checkout?customerid=5D5020DA-47DF-4C82-A722-C8DEAF06AE23
Dépôts similaires
ardalis/CleanArchitecture

Clean Architecture Solution Template: A proven Clean Architecture Template for ASP.NET Core 10

C#MIT Licenseclean-architecturearchitecture
18.3k3.1k
Sairyss/domain-driven-hexagon

Learn Domain-Driven Design, software architecture, design patterns, best practices. Code examples included

TypeScriptnpmMIT Licensedomain-driven-designhexagonal-architecture
14.8k1.6k
abpframework/abp

Open-source web application framework for ASP.NET Core! Offers an opinionated architecture to build enterprise software solutions with best practices on top of the .NET. Provides the fundamental infrastructure, cross-cutting-concern implementations, startup templates, application modules, UI themes, tooling and documentation.

C#GNU Lesser General Public License v3.0abpcsharp
abp.io
14.4k3.7k
kgrzybek/modular-monolith-with-ddd

Full Modular Monolith application with Domain-Driven Design approach.

C#MIT Licensedddddd-architecture
13.9k2.2k
aspnetboilerplate/aspnetboilerplate

ASP.NET Boilerplate - Web Application Framework

C#MIT Licensec-sharpbest-practices
aspnetboilerplate.com
12k3.8k
gotson/komga

Media server for comics/mangas/BDs/magazines/eBooks with API, OPDS, Kobo Sync and KOReader Sync support

KotlinMIT Licensekotlinspring-boot
komga.org
6.5k386
ddd-crew/ddd-starter-modelling-process

If you're new to DDD and not sure where to start, this process will guide you step-by-step

Creative Commons Attribution Share Alike 4.0 Internationaldomain-driven-design
5.9k565
undergroundwires/privacy.sexy

Open-source tool to enforce privacy & security best-practices on Windows, macOS and Linux, because privacy is sexy

TypeScriptnpmGNU Affero General Public License v3.0privacyprivacy-tools
privacy.sexy
5.9k284
ddd-by-examples/library

A comprehensive Domain-Driven Design example with problem space strategic analysis and various tactical patterns.

JavaMavenMIT Licensedomain-driven-designddd
5.8k828
ivanpaulovich/clean-architecture-manga

:cyclone: Clean Architecture with .NET6, C#10 and React+Redux. Use cases as central organizing structure, completely testable, decoupled from frameworks

C#Apache License 2.0solid-principlesddd-architecture
paulovich.net
4.3k750
AxonIQ/AxonFramework

Framework for Evolutionary Message-Driven Microservices on the JVM

JavaMavenApache License 2.0javacqrs
axoniq.io
3.6k854
evolutionary-architecture/evolutionary-architecture-by-example

Navigate the complex landscape of .NET software architecture with our step-by-step, story-like guide. Unpack the interplay between modular monoliths, microservices, domain-driven design, and various architectural patterns. Go beyond the one-size-fits-all solutions and understand how to blend these approaches based on your unique needs.

C#MIT Licensearchitectureclean-code
3.5k528