dotnet / dotnet/eShop

Remove DDD boilerplate

Open
#23 5 comments 5 reactions 0 assignees View on GitHub
Dominant language
C#
Stars
10.9k
Forks
3.8k
Avg merge
1d 11h
Merged PRs (30d)
4

Description

From @bricelam:

It is the professional opinion of the EF team that the DDD patterns employed in the Ordering.API and related projects are of no value (and possibly even result in negative value) and can safely be removed for the sake of maintainability.

This includes, but is not limited to:

- [ ] Removing the types under the [src/Ordering.Domain/SeedWork/](https://github.com/dotnet/eShop/tree/main/src/Ordering.Domain/SeedWork) directory
- [ ] Use actual CLR enums for [CardType](https://github.com/dotnet/eShop/blob/main/src/Ordering.Domain/AggregatesModel/BuyerAggregate/CardType.cs) and [OrderStatus](https://github.com/dotnet/eShop/blob/main/src/Ordering.Domain/AggregatesModel/OrderAggregate/OrderStatus.cs)
- [ ] Update [OrderQueries](https://github.com/dotnet/eShop/blob/main/src/Ordering.API/Application/Queries/OrderQueries.cs) to use EF LINQ queries
- Make ViewModel classes more idiomatic
- [ ] Consider Using `IdentityGuid` as the primary key (instead of the current surrogate key) for [Buyer](https://github.com/dotnet/eShop/blob/main/src/Ordering.Domain/AggregatesModel/BuyerAggregate/Buyer.cs)
- [ ] Review the unusual use of transactions and the SaveChanges call in [TransactionBehavior](https://github.com/dotnet/eShop/blob/main/src/Ordering.API/Application/Behaviors/TransactionBehavior.cs)

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.