{"id":10174,"date":"2023-12-19T12:17:38","date_gmt":"2023-12-19T15:17:38","guid":{"rendered":"https:\/\/elemarjr.com\/clube-de-estudos\/?post_type=artigos&#038;p=10174"},"modified":"2023-12-24T11:52:01","modified_gmt":"2023-12-24T14:52:01","slug":"tornando-mais-facil-o-que-e-feito-todos-os-dias","status":"publish","type":"artigos","link":"https:\/\/elemarjr.com\/clube-de-estudos\/artigos\/tornando-mais-facil-o-que-e-feito-todos-os-dias\/","title":{"rendered":"Tornando Mais F\u00e1cil o que \u00e9 Feito Todos os Dias"},"content":{"rendered":"\n<p>Quando ouvimos falar em <em>Domain-Driven Design<\/em> (DDD), frequentemente imaginamos um conjunto de pr\u00e1ticas complexas aplicadas apenas em grandes sistemas. Entretanto, o DDD pode facilitar significativamente o desenvolvimento de software cotidiano. Mas como? Ele nos convida a focar no essencial, real\u00e7ando o que realmente importa no nosso trabalho di\u00e1rio. Vamos avaliar juntos o impacto transformador do DDD no dia a dia da programa\u00e7\u00e3o.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">A Medida Real da Efic\u00e1cia no DDD<\/h2>\n\n\n\n<p>Entender a efic\u00e1cia do DDD exige um olhar atento aos aspectos que s\u00e3o verdadeiramente cruciais para o sucesso de um projeto. A famosa Lei de Pareto, que sugere que 20% dos esfor\u00e7os geram 80% dos resultados, \u00e9 uma observa\u00e7\u00e3o que se aplica bem ao DDD. Identificar e aperfei\u00e7oar estes 20% pode levar a ganhos significativos na funcionalidade e na experi\u00eancia do usu\u00e1rio.<\/p>\n\n\n\n<p>Por exemplo, na implementa\u00e7\u00e3o do DDD no projeto de software banc\u00e1rio da Empresa X, foi descoberto que a maioria dos clientes utilizava frequentemente apenas um conjunto limitado de servi\u00e7os. Ao desenvolver um modelo de dom\u00ednio que otimizasse essas opera\u00e7\u00f5es priorit\u00e1rias, a Empresa X conseguiu melhorar a satisfa\u00e7\u00e3o do cliente e reduzir custos operacionais.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Simplificando com o DDD<\/h2>\n\n\n\n<p><em>Aggregate<\/em>, <em>Entity<\/em>, <em>Value Object<\/em>, <em>Repository<\/em> \u2013 esses s\u00e3o alguns dos padr\u00f5es de design que o DDD utiliza para decompor e simplificar os dom\u00ednios de neg\u00f3cios complexos. O desafio est\u00e1 em destilar o conhecimento especializado para que possa ser incorporado de maneira mais natural e menos propensa a erros no c\u00f3digo do sistema. \u00c9 algo que Eric Evans, em seu seminal livro sobre DDD, descreveu brilhantemente, oferecendo aos desenvolvedores um guia sobre como alinhar design t\u00e9cnico com as necessidades do neg\u00f3cio.<\/p>\n\n\n\n<p>O princ\u00edpio est\u00e1 em fazer que o complexo se torne intuitivo, mais barato e menos arriscado ao longo do tempo. A utiliza\u00e7\u00e3o do DDD na Empresa X, por exemplo, centralizou as decis\u00f5es importantes ao redor de opera\u00e7\u00f5es banc\u00e1rias chave e, como resultado, simplificou processos e melhorou a comunica\u00e7\u00e3o entre as equipes.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Conclus\u00e3o<\/h2>\n\n\n\n<p>O <em>Domain-Driven Design<\/em> n\u00e3o \u00e9 um mero conjunto de regras, mas uma filosofia de desenvolvimento focada na melhoria cont\u00ednua da experi\u00eancia do usu\u00e1rio e da efici\u00eancia operacional. Aos identificarmos e aperfei\u00e7oarmos os elementos cr\u00edticos, tornamos nosso trabalho mais eficaz e nossas aplica\u00e7\u00f5es mais afinadas \u00e0s necessidades do dom\u00ednio.<\/p>\n\n\n\n<p>O verdadeiro impacto do DDD se revela na agiliza\u00e7\u00e3o dos processos cotidianos e na qualidade do software produzido. Incorporando as li\u00e7\u00f5es de DDD, sistemas tornam-se melhores n\u00e3o apenas em fun\u00e7\u00e3o de uma \u00fanica caracter\u00edstica marcante, mas devido \u00e0 capacidade de realizarem de maneira eficiente e confi\u00e1vel as tarefas de cada dia.<\/p>\n\n\n\n<p>Neste contexto, o conte\u00fado discutido neste artigo s\u00e3o t\u00f3picos explorados com mais profundidade nos meus grupos de estudos e mentorias, onde se pode expandir a compreens\u00e3o e habilidade na aplica\u00e7\u00e3o do DDD para melhorar o desenvolvimento de software no dia a dia.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">TL;DR<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>O DDD visa simplificar e otimizar o desenvolvimento de software focando nas funcionalidades essenciais que trazem mais valor.<\/li>\n\n\n\n<li>A aplica\u00e7\u00e3o da regra de Pareto no DDD nos ajuda a identificar e melhorar os 20% das funcionalidades que resultam em 80% da utilidade e satisfa\u00e7\u00e3o do usu\u00e1rio.<\/li>\n\n\n\n<li>Exemplificando com casos reais e seguindo os ensinamentos de l\u00edderes no assunto como Eric Evans, podemos compreender melhor o impacto transformador que o DDD oferece para pr\u00e1ticas do cotidiano no desenvolvimento de software.<\/li>\n<\/ol>\n","protected":false},"featured_media":10117,"parent":0,"template":"","cursos":[12],"class_list":["post-10174","artigos","type-artigos","status-publish","has-post-thumbnail","hentry","cursos-ddd-do-jeito-certo"],"acf":[],"_links":{"self":[{"href":"https:\/\/elemarjr.com\/clube-de-estudos\/wp-json\/wp\/v2\/artigos\/10174","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/elemarjr.com\/clube-de-estudos\/wp-json\/wp\/v2\/artigos"}],"about":[{"href":"https:\/\/elemarjr.com\/clube-de-estudos\/wp-json\/wp\/v2\/types\/artigos"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/elemarjr.com\/clube-de-estudos\/wp-json\/wp\/v2\/media\/10117"}],"wp:attachment":[{"href":"https:\/\/elemarjr.com\/clube-de-estudos\/wp-json\/wp\/v2\/media?parent=10174"}],"wp:term":[{"taxonomy":"cursos","embeddable":true,"href":"https:\/\/elemarjr.com\/clube-de-estudos\/wp-json\/wp\/v2\/cursos?post=10174"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}