Edition 0 Updated to asp. Net core 0


Chris Richardson. Developing Transactional Microservices Using Aggregates



Yüklə 11,82 Mb.
Pdf görüntüsü
səhifə179/288
tarix12.07.2023
ölçüsü11,82 Mb.
#136458
1   ...   175   176   177   178   179   180   181   182   ...   288
Chris Richardson. Developing Transactional Microservices Using Aggregates
https://www.infoq.com/articles/microservices-aggregates-events-cqrs-part-1-richardson
 

DevIQ. The Aggregate pattern
https://deviq.com/aggregate-pattern/
 
Implement a microservice domain model with .NET 
In the previous section, the fundamental design principles and patterns for designing a domain model 
were explained. Now it is time to explore possible ways to implement the domain model by using 
.NET (plain C# code) and EF Core. Your domain model will be composed simply of your code. It will 
have just the EF Core model requirements, but not real dependencies on EF. You should not have hard 
dependencies or references to EF Core or any other ORM in your domain model. 
Domain model structure in a custom .NET Standard Library 
The folder organization used for the eShopOnContainers reference application demonstrates the DDD 
model for the application. You might find that a different folder organization more clearly 
communicates the design choices made for your application. As you can see in Figure 7-10, in the 
ordering domain model there are two aggregates, the order aggregate and the buyer aggregate. Each 
aggregate is a group of domain entities and value objects, although you could have an aggregate 
composed of a single domain entity (the aggregate root or root entity) as well. 


205 
CHAPTER 6 | Tackle Business Complexity in a Microservice with DDD and CQRS Patterns 
Figure 7-10. Domain model structure for the ordering microservice in eShopOnContainers 
Additionally, the domain model layer includes the repository contracts (interfaces) that are the 
infrastructure requirements of your domain model. In other words, these interfaces express what 
repositories and the methods the infrastructure layer must implement. It is critical that the 
implementation of the repositories be placed outside of the domain model layer, in the infrastructure 
layer library, so the domain model layer is not “contaminated” by API or classes from infrastructure 
technologies, like Entity Framework. 
You can also see a 
SeedWork
 folder that contains custom base classes that you can use as a base for 
your domain entities and value objects, so you do not have redundant code in each 
domain’s object 
class. 

Yüklə 11,82 Mb.

Dostları ilə paylaş:
1   ...   175   176   177   178   179   180   181   182   ...   288




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin