O que aprendi ao criar um monolito seguindo boas praticas de DDD e Clean Architecture

Depois de fazer um estudo mais aprofundado sobre monolitos foi a hora de eu implementar um usando as praticas que estudei, principalmente utilizando os conceitos de deixar os módulos bem separados para facilitar uma possível futura conversão para micro…


This content originally appeared on DEV Community and was authored by Yan.ts

Depois de fazer um estudo mais aprofundado sobre monolitos foi a hora de eu implementar um usando as praticas que estudei, principalmente utilizando os conceitos de deixar os módulos bem separados para facilitar uma possível futura conversão para microsserviços.

O sistema

O sistema implementado com o intuito de estudos era uma espécie de e-commerce e seus eram produtos(na visão do admin), produtos(na visão do catalogo), pagamentos e clientes(na visão do admin) foi feito utilizando TDD ou seja, durante todo o desenvolvimento criei um teste para a feature que queria implementar e só depois implementei o método ou a classe.

Nesse caso de estudos o monolito foi feito com apenas um banco de dados para todos os módulos ao invés de um banco de dados por módulos

O que estranhei

Pra mim foi(e ainda é) muito estranho o fato de eu ter duas entidades de produto no mesmo sistema, não me entenda mal, eu entendo perfeitamente o porque dele estar ali "não é o mesmo produto" e cada modulo vê esse produto com o que é necessário para ele no contexto dele. Porem quando de fato chegou a hora de fazer isso:

Image description

Tive que me segurar muito para não simplesmente adicionar um novo campo a entidade que comecei e seguir com a vida, e falando em curto prazo essa solução até funcionaria, porem ao longo prazo que é como penso nesse sistema, algo feito para durar, o ideal é realmente fazer dessa forma pois cada entidade dessas de produtos tem as suas próprias razões para mudar e não podemos deixar que um interfira no outro.

Image description

Principalmente quando foi o caso de fazer isso para os DTOs onde são idênticos, porem no futuro podem ter razões para mudar diferentes

O que gostei

Acabei gostando bastante das facades, ainda não tive a experiencia de quebrar um monolito em microsseviços mas com elas da para ver claramente o quão desacoplado dá para deixar o sistema monolítico e já dá para imaginar que deve ser muito mais fácil separar um sistema assim do que separar um sistema que já está altamente acoplado

Aqui está o link para o repositório com o sistema que estou desenvolvendo


This content originally appeared on DEV Community and was authored by Yan.ts


Print Share Comment Cite Upload Translate Updates
APA

Yan.ts | Sciencx (2022-06-15T01:13:24+00:00) O que aprendi ao criar um monolito seguindo boas praticas de DDD e Clean Architecture. Retrieved from https://www.scien.cx/2022/06/15/o-que-aprendi-ao-criar-um-monolito-seguindo-boas-praticas-de-ddd-e-clean-architecture/

MLA
" » O que aprendi ao criar um monolito seguindo boas praticas de DDD e Clean Architecture." Yan.ts | Sciencx - Wednesday June 15, 2022, https://www.scien.cx/2022/06/15/o-que-aprendi-ao-criar-um-monolito-seguindo-boas-praticas-de-ddd-e-clean-architecture/
HARVARD
Yan.ts | Sciencx Wednesday June 15, 2022 » O que aprendi ao criar um monolito seguindo boas praticas de DDD e Clean Architecture., viewed ,<https://www.scien.cx/2022/06/15/o-que-aprendi-ao-criar-um-monolito-seguindo-boas-praticas-de-ddd-e-clean-architecture/>
VANCOUVER
Yan.ts | Sciencx - » O que aprendi ao criar um monolito seguindo boas praticas de DDD e Clean Architecture. [Internet]. [Accessed ]. Available from: https://www.scien.cx/2022/06/15/o-que-aprendi-ao-criar-um-monolito-seguindo-boas-praticas-de-ddd-e-clean-architecture/
CHICAGO
" » O que aprendi ao criar um monolito seguindo boas praticas de DDD e Clean Architecture." Yan.ts | Sciencx - Accessed . https://www.scien.cx/2022/06/15/o-que-aprendi-ao-criar-um-monolito-seguindo-boas-praticas-de-ddd-e-clean-architecture/
IEEE
" » O que aprendi ao criar um monolito seguindo boas praticas de DDD e Clean Architecture." Yan.ts | Sciencx [Online]. Available: https://www.scien.cx/2022/06/15/o-que-aprendi-ao-criar-um-monolito-seguindo-boas-praticas-de-ddd-e-clean-architecture/. [Accessed: ]
rf:citation
» O que aprendi ao criar um monolito seguindo boas praticas de DDD e Clean Architecture | Yan.ts | Sciencx | https://www.scien.cx/2022/06/15/o-que-aprendi-ao-criar-um-monolito-seguindo-boas-praticas-de-ddd-e-clean-architecture/ |

Please log in to upload a file.




There are no updates yet.
Click the Upload button above to add an update.

You must be logged in to translate posts. Please log in or register.