{"id":3850,"date":"2026-03-06T20:06:00","date_gmt":"2026-03-06T23:06:00","guid":{"rendered":"https:\/\/sanadalabs.com\/?p=3850"},"modified":"2026-04-22T21:42:50","modified_gmt":"2026-04-23T00:42:50","slug":"ddd-nao-e-frescura-academica","status":"publish","type":"post","link":"https:\/\/sanadalabs.com\/en\/ddd-nao-e-frescura-academica\/","title":{"rendered":"DDD n\u00e3o \u00e9 frescura acad\u00eamica"},"content":{"rendered":"<h1 class=\"wp-block-heading\">DDD n\u00e3o \u00e9 frescura acad\u00eamica<\/h1>\n\n\n\n<h2 class=\"wp-block-heading\">Japa Tela Preta #2<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Todo sistema come\u00e7a bonito.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Voc\u00ea abre o projeto e d\u00e1 at\u00e9 gosto. Pastas organizadas, controllers limpos, services bem definidos. Parece que agora vai. Dessa vez vai ficar redondo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">S\u00f3 que o tempo passa.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Entram novas features, prazos apertam, aparecem exce\u00e7\u00f5es, ajustes r\u00e1pidos viram solu\u00e7\u00e3o definitiva\u2026 e quando voc\u00ea percebe, j\u00e1 tem regra de neg\u00f3cio no controller, valida\u00e7\u00e3o duplicada no front, l\u00f3gica espalhada em tr\u00eas lugares diferentes e ningu\u00e9m mais tem coragem de mexer sem rezar antes.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Nasce ali o cl\u00e1ssico sistema macarr\u00e3o.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">E o mais curioso \u00e9 que isso n\u00e3o acontece por falta de capacidade t\u00e9cnica. Acontece porque, no dia a dia, ningu\u00e9m est\u00e1 pensando em arquitetura \u2014 est\u00e1 todo mundo tentando entregar.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Foi justamente pra evitar esse tipo de cen\u00e1rio que surgiram conceitos como <a href=\"chatgpt:\/\/generic-entity?number=0\">Domain-Driven Design<\/a>, Arquitetura Hexagonal, Clean Architecture e at\u00e9 os princ\u00edpios do <a href=\"chatgpt:\/\/generic-entity?number=1\">SOLID<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Os nomes s\u00e3o pomposos, quase acad\u00eamicos, mas a ideia por tr\u00e1s \u00e9 bem p\u00e9 no ch\u00e3o: parar de misturar regra de neg\u00f3cio com detalhe t\u00e9cnico.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Porque detalhe t\u00e9cnico muda o tempo todo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Framework muda. Banco muda. Ferramenta muda. Biblioteca muda.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Mas a l\u00f3gica do neg\u00f3cio \u2014 aquilo que realmente faz o sistema existir \u2014 n\u00e3o deveria ficar ref\u00e9m disso.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u00c9 por isso que essas abordagens colocam o dom\u00ednio no centro. N\u00e3o como conceito bonito, mas como estrat\u00e9gia pr\u00e1tica. Tudo que \u00e9 externo \u2014 banco, API, fila, interface \u2014 vira s\u00f3 um adaptador em volta da regra de neg\u00f3cio.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Quando voc\u00ea acerta essa separa\u00e7\u00e3o, acontece uma coisa interessante: o sistema come\u00e7a a ficar previs\u00edvel. Evoluir deixa de ser um jogo de adivinha\u00e7\u00e3o. O risco de quebrar algo diminui bastante. E, talvez o mais importante, o c\u00f3digo come\u00e7a a fazer sentido pra quem chega depois.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Isso n\u00e3o vem de livro.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Vem de cicatriz.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">De quem j\u00e1 pegou sistema grande, sem padr\u00e3o, com l\u00f3gica espalhada, e teve que manter aquilo funcionando enquanto o neg\u00f3cio continuava rodando.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">No fim, DDD n\u00e3o \u00e9 frescura.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u00c9 s\u00f3 uma forma de n\u00e3o transformar seu pr\u00f3prio produto no seu maior problema.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>","protected":false},"excerpt":{"rendered":"<p>DDD n\u00e3o \u00e9 frescura acad\u00eamica Japa Tela Preta #2 Todo sistema come\u00e7a bonito. Voc\u00ea abre o projeto e d\u00e1 at\u00e9 gosto. Pastas organizadas, controllers limpos, services bem definidos. Parece que agora vai. Dessa vez vai ficar redondo. S\u00f3 que o tempo passa. Entram novas features, prazos apertam, aparecem exce\u00e7\u00f5es, ajustes r\u00e1pidos viram solu\u00e7\u00e3o definitiva\u2026 e [&hellip;]<\/p>\n","protected":false},"author":8,"featured_media":3874,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[35,34],"tags":[39,41,42,36,40,37,38,43],"class_list":["post-3850","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-japa-tela-preta","category-tecnologia","tag-arquiteturadesoftware","tag-desenvolvimentodesoftware","tag-engenhariadesoftware","tag-japatelapreta","tag-programacao","tag-softwareengineering","tag-systemdesign","tag-techlead"],"_links":{"self":[{"href":"https:\/\/sanadalabs.com\/en\/wp-json\/wp\/v2\/posts\/3850","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sanadalabs.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sanadalabs.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sanadalabs.com\/en\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/sanadalabs.com\/en\/wp-json\/wp\/v2\/comments?post=3850"}],"version-history":[{"count":3,"href":"https:\/\/sanadalabs.com\/en\/wp-json\/wp\/v2\/posts\/3850\/revisions"}],"predecessor-version":[{"id":3881,"href":"https:\/\/sanadalabs.com\/en\/wp-json\/wp\/v2\/posts\/3850\/revisions\/3881"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/sanadalabs.com\/en\/wp-json\/wp\/v2\/media\/3874"}],"wp:attachment":[{"href":"https:\/\/sanadalabs.com\/en\/wp-json\/wp\/v2\/media?parent=3850"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sanadalabs.com\/en\/wp-json\/wp\/v2\/categories?post=3850"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sanadalabs.com\/en\/wp-json\/wp\/v2\/tags?post=3850"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}