Edition 0 Updated to asp. Net core 0


Validate entities by implementing the Specification pattern and the Notification



Yüklə 11,82 Mb.
Pdf görüntüsü
səhifə195/288
tarix12.07.2023
ölçüsü11,82 Mb.
#136458
1   ...   191   192   193   194   195   196   197   198   ...   288
Validate entities by implementing the Specification pattern and the Notification 
pattern 
Finally, a more elaborate approach to implementing validations in the domain model is by 
implementing the Specification pattern in conjunction with the Notification pattern, as explained in 
some of the additional resources listed later. 
It is worth mentioning that you can also use just one of those patterns

for example, validating 
manually with control statements, but using the Notification pattern to stack and return a list of 
validation errors. 
Use deferred validation in the domain 
There are various approaches to deal with deferred validations in the domain. In his book 
Implementing Domain-Driven Design
, Vaughn Vernon discusses these in the section on validation. 
Two-step validation 
Also consider two-step validation. Use field-level validation on your command Data Transfer Objects 
(DTOs) and domain-level validation inside your entities. You can do this by returning a result object 
instead of exceptions in order to make it easier to deal with the validation errors. 


226 
CHAPTER 6 | Tackle Business Complexity in a Microservice with DDD and CQRS Patterns 
Using field validation with data annotations, for example, you do not duplicate the validation 
definition. The execution, though, can be both server-side and client-side in the case of DTOs 
(commands and ViewModels, for instance). 
Additional resources 

Rachel Appel. Introduction to model validation in ASP.NET Core MVC
https://learn.microsoft.com/aspnet/core/mvc/models/validation
 

Rick Anderson. Adding validation
https://learn.microsoft.com/aspnet/core/tutorials/first-mvc-app/validation
 

Martin Fowler. Replacing Throwing Exceptions with Notification in Validations
https://martinfowler.com/articles/replaceThrowWithNotification.html
 


Yüklə 11,82 Mb.

Dostları ilə paylaş:
1   ...   191   192   193   194   195   196   197   198   ...   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