Your Web News in One Place

Help Webnuz

Referal links:

Sign up for GreenGeeks web hosting
June 15, 2022 01:13 am GMT

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:

Image description

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.

Image description

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

Share this article:    Share on Facebook
View Full Article

Dev To

An online community for sharing and discovering great ideas, having debates, and making friends

More About this Source Visit Dev To