Edition 0 Updated to asp. Net core 0


Specification and Notification Patterns



Yüklə 11,82 Mb.
Pdf görüntüsü
səhifə196/288
tarix12.07.2023
ölçüsü11,82 Mb.
#136458
1   ...   192   193   194   195   196   197   198   199   ...   288
NET-Microservices-Architecture-for-Containerized-NET-Applications

Specification and Notification Patterns
https://www.codeproject.com/Tips/790758/Specification-and-Notification-Patterns
 

Lev Gorodinski. Validation in Domain-Driven Design (DDD)
http://gorodinski.com/blog/2012/05/19/validation-in-domain-driven-design-ddd/
 

Colin Jack. Domain Model Validation
https://colinjack.blogspot.com/2008/03/domain-model-validation.html
 

Jimmy Bogard. Validation in a DDD world
https://lostechies.com/jimmybogard/2009/02/15/validation-in-a-ddd-world/
 
Client-side validation (validation in the presentation 
layers) 
Even when the source of truth is the domain model and ultimately you must have validation at the 
domain model level, validation can still be handled at both the domain model level (server side) and 
the UI (client side). 
Client-side validation is a great convenience for users. It saves time they would otherwise spend 
waiting for a round trip to the server that might return validation errors. In business terms, even a few 
fractions of seconds multiplied hundreds of times each day adds up to a lot of time, expense, and 
frustration. Straightforward and immediate validation enables users to work more efficiently and 
produce better quality input and output. 
Just as the view model and the domain model are different, view model validation and domain model 
validation might be similar but serve a different purpose. If you are concerned about DRY (the Don’t 
Repeat Yourself principle), consider that in this case code reuse might also mean coupling, and in 
enterprise applications it is more important not to couple the server side to the client side than to 
follow the DRY principle. 
Even when using client-side validation, you should always validate your commands or input DTOs in 
server code, because the server APIs are a possible attack vector. Usually, doing both is your best bet 


227 
CHAPTER 6 | Tackle Business Complexity in a Microservice with DDD and CQRS Patterns 
because if you have a client application, from a UX perspective, it is best to be proactive and not allow 
the user to enter invalid information. 
Therefore, in client-side code you typically validate the ViewModels. You could also validate the client 
output DTOs or commands before you send them to the services. 
The implementation of client-side validation depends on what kind of client application you are 
building. It will be different if you are validating data in a web MVC web application with most of the 
code in .NET, a SPA web application with that validation being coded in JavaScript or TypeScript, or a 
mobile app coded with Xamarin and C#. 

Yüklə 11,82 Mb.

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