[{"@context":"https:\/\/schema.org\/","@type":"BlogPosting","@id":"https:\/\/ivonascimento.com\/2015\/02\/04\/logica-101-preste-atencao-na-mensagem\/#BlogPosting","mainEntityOfPage":"https:\/\/ivonascimento.com\/2015\/02\/04\/logica-101-preste-atencao-na-mensagem\/","headline":"Logica 101 &#8211; Preste aten\u00e7\u00e3o na mensagem","name":"Logica 101 &#8211; Preste aten\u00e7\u00e3o na mensagem","description":"Um software \u00e9 composto de c\u00f3digos que se comunicam. Comunicar \u00e9 trocar mensagens. Logo, um software \u00e9 um conjunto de c\u00f3digos que trocam mensagens. Parece razo\u00e1vel? Espero que sim, mas se \u00e9 razo\u00e1vel por que diabos os programadores n\u00e3o se preocupam com a mensagem e focam todo o seu trabalho no c\u00f3digo? Elaborando um pouco [&hellip;]","datePublished":"2015-02-04","dateModified":"2015-02-05","author":{"@type":"Person","@id":"https:\/\/ivonascimento.com\/author\/ivonascimento\/#Person","name":"Ivo Nascimento","url":"https:\/\/ivonascimento.com\/author\/ivonascimento\/","identifier":10240028,"image":{"@type":"ImageObject","@id":"https:\/\/secure.gravatar.com\/avatar\/2305ea1f48319271d323c5e1c0aadd4cc45d10c4927dd8b3af083facb8c6f75f?s=96&d=identicon&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/2305ea1f48319271d323c5e1c0aadd4cc45d10c4927dd8b3af083facb8c6f75f?s=96&d=identicon&r=g","height":96,"width":96}},"publisher":{"@type":"Person","name":"Ivo Nascimento"},"image":{"@type":"ImageObject","@id":"https:\/\/ivonascimento.com\/wp-content\/uploads\/2025\/11\/1678128251648-e1763258046842.jpeg","url":"https:\/\/ivonascimento.com\/wp-content\/uploads\/2025\/11\/1678128251648-e1763258046842.jpeg","width":100,"height":100},"url":"https:\/\/ivonascimento.com\/2015\/02\/04\/logica-101-preste-atencao-na-mensagem\/","about":["texto de Bus\u00e3o"],"wordCount":374,"keywords":["estrutura de dados","logica","php"],"articleBody":"Um software \u00e9 composto de c\u00f3digos que se comunicam.Comunicar \u00e9 trocar mensagens.Logo, um software \u00e9 um conjunto de c\u00f3digos que trocam mensagens.Parece razo\u00e1vel? Espero que sim, mas se \u00e9 razo\u00e1vel por que diabos os programadores n\u00e3o se preocupam com a mensagem e focam todo o seu trabalho no c\u00f3digo?Elaborando um pouco mais:O objetivo de um\u00a0 c\u00f3digo \u00e9 resolver o problema X.N\u00e3o deve existir Dois c\u00f3digos resolvendo o mesmo problema X.Logo, os c\u00f3digos n\u00e3o compartilham o mesmo objetivo.Tamb\u00e9m parece razo\u00e1vel. Para que ter dois c\u00f3digos dentro do mesmo software resolvendo o mesmo problema?Os c\u00e9ticos citariam o capit\u00e3o Nascimento &#8220;estrat\u00e9gia&#8221; a que eu responderia &#8220;o conte\u00fado de estrat\u00e9gia, do ingl\u00eas strategy, do grego \u03c3\u03c4\u03c1\u03b1\u03c4\u03b7\u03b3\u03b9\u03ba\u03ae&#8230;&#8221;.Ent\u00e3o chegamos a:Um software \u00e9 uma cole\u00e7\u00e3o de c\u00f3digos conectados que decomp\u00f5em um problema em problemas menores.C\u00f3digos conectados precisam comunicar seus resultados para compor a solu\u00e7\u00e3o do problema objetivo do software.Logo, c\u00f3digos conectados compartilham a necessidade de trocar mensagens para se comunicar.Ent\u00e3o eu me pergunto, se parece \u00f3bvio, por que a mensagem normalmente \u00e9 a coisa mais mal ajambrada na maioria dos software? Parecendo o resultado de um remendo ap\u00f3s o outro. Mensagens gigantes, de formato inst\u00e1vel, ideal para um c\u00f3digo mas n\u00e3o para outro.E por que os programadores ignoram o efeito que essa pratica tem sobre os algoritmos, que se tornam um emaranhado de if&#8217;s elses, sem condi\u00e7\u00e3o alguma de serem mantidos?Existem os c\u00f3digos, a mensagem e o mensageiro.O c\u00f3digo de dom\u00ednio de cada problema(esses c\u00f3digos normalmente tem sua pr\u00f3pria estrutura de dados interna); a estrutura de dados que navega pelos c\u00f3digos(a mensagem) e a Service Layer que conecta a todos por que sabe formatar a mensagem para que cada c\u00f3digo receba um input que compreenda e que o output possa ser compreendido e seja refletido na mensagem principal que contem a solu\u00e7\u00e3o do problema a que o software se prop\u00f5em.Compartilhe isso:\t\t\t\tImprimir(abre em nova janela)\t\t\t\tImprimir\t\t\tTweet\t\t\t\tCompartilhar no WhatsApp(abre em nova janela)\t\t\t\tWhatsApp\t\t\t"},{"@context":"https:\/\/schema.org\/","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"2015","item":"https:\/\/ivonascimento.com\/2015\/#breadcrumbitem"},{"@type":"ListItem","position":2,"name":"02","item":"https:\/\/ivonascimento.com\/2015\/\/02\/#breadcrumbitem"},{"@type":"ListItem","position":3,"name":"04","item":"https:\/\/ivonascimento.com\/2015\/\/02\/\/04\/#breadcrumbitem"},{"@type":"ListItem","position":4,"name":"Logica 101 &#8211; Preste aten\u00e7\u00e3o na mensagem","item":"https:\/\/ivonascimento.com\/2015\/02\/04\/logica-101-preste-atencao-na-mensagem\/#breadcrumbitem"}]}]