An Interest In:
Web News this Week
- March 20, 2024
- March 19, 2024
- March 18, 2024
- March 17, 2024
- March 16, 2024
- March 15, 2024
- March 14, 2024
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 mdulos bem separados para facilitar uma possvel futura converso para microsservios.
O sistema
O sistema implementado com o intuito de estudos era uma espcie de e-commerce e seus eram produtos(na viso do admin), produtos(na viso do catalogo), pagamentos e clientes(na viso 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 mtodo ou a classe.
Nesse caso de estudos o monolito foi feito com apenas um banco de dados para todos os mdulos ao invs de um banco de dados por mdulos
O que estranhei
Pra mim foi(e ainda ) muito estranho o fato de eu ter duas entidades de produto no mesmo sistema, no me entenda mal, eu entendo perfeitamente o porque dele estar ali "no o mesmo produto" e cada modulo v esse produto com o que necessrio para ele no contexto dele. Porem quando de fato chegou a hora de fazer isso:
Tive que me segurar muito para no simplesmente adicionar um novo campo a entidade que comecei e seguir com a vida, e falando em curto prazo essa soluo 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 prprias razes para mudar e no podemos deixar que um interfira no outro.
Principalmente quando foi o caso de fazer isso para os DTOs onde so idnticos, porem no futuro podem ter razes para mudar diferentes
O que gostei
Acabei gostando bastante das facades, ainda no tive a experiencia de quebrar um monolito em microssevios mas com elas da para ver claramente o quo desacoplado d para deixar o sistema monoltico e j d para imaginar que deve ser muito mais fcil separar um sistema assim do que separar um sistema que j est altamente acoplado
Aqui est o link para o repositrio com o sistema que estou desenvolvendo
Original Link: https://dev.to/yanpiing/o-que-aprendi-ao-criar-um-monolito-seguindo-boas-praticas-de-ddd-e-clean-architecture-b64
Dev To
An online community for sharing and discovering great ideas, having debates, and making friendsMore About this Source Visit Dev To