{"id":336,"date":"2019-07-30T17:02:06","date_gmt":"2019-07-30T17:02:06","guid":{"rendered":"https:\/\/micheladrianomedeiros.com.br\/blog\/?p=336"},"modified":"2019-12-30T09:48:47","modified_gmt":"2019-12-30T12:48:47","slug":"modularidade-do-java-1","status":"publish","type":"post","link":"https:\/\/micheladrianomedeiros.com.br\/blog\/modularidade-do-java-1\/","title":{"rendered":"Modularidade do Java #1"},"content":{"rendered":"\n<p class=\"has-text-color has-vivid-cyan-blue-color wp-block-paragraph\">Conceitos de Programa\u00e7\u00e3o Modular<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Tenho certeza que voc\u00ea j\u00e1 teve que fazer coisas complexas no seu projeto. O n\u00edvel de complexidade de um software costuma ser baixa no in\u00edcio, mas depois de um tempo a complexidade come\u00e7a a crescer devido as mudan\u00e7as que precisam ser feitas. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A complexidade continua crescer constantemente conforme novas funcionalidades s\u00e3o adicionadas e funcionalidades existentes customizadas.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"> Quanto mais mudan\u00e7as e customiza\u00e7\u00f5es s\u00e3o feitas, mais complexo o sistema se torna, e quanto mais complexo se torna, mais dif\u00edcil \u00e9 para um novo desenvolvedor entender o projeto e come\u00e7ar a trabalhar nele. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">E se a documenta\u00e7\u00e3o n\u00e3o \u00e9 boa o suficiente, ent\u00e3o o entendimento se torna ainda mais dif\u00edcil. Um alto n\u00edvel de complexidade requer mais energia, recursos e tempo gasto para entender a estrutura da aplica\u00e7\u00e3o.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Qual \u00e9 a causa que faz um sistema ser dif\u00edcil de manter a manuten\u00e7\u00e3o? A resposta \u00e9 que h\u00e1 muitas depend\u00eancias por todo o c\u00f3digo. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Isto acontece quando um peda\u00e7o de c\u00f3digo depende de muitos outros peda\u00e7os de c\u00f3digo, e isto pode gerar muitos problemas. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A modifica\u00e7\u00e3o de um sistema torna-se dolorosa porque a modifica\u00e7\u00e3o de um c\u00f3digo pode afetar em outras partes da aplica\u00e7\u00e3o. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A modifica\u00e7\u00e3o em uma aplica\u00e7\u00e3o em diferentes \u00e1reas, tr\u00e1s o risco da introdu\u00e7\u00e3o de novos erros. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Al\u00e9m disso, alcan\u00e7ar um n\u00edvel de reuso satisfat\u00f3rio torna-se dif\u00edcil. O software tem tantas depend\u00eancias que a simples reutiliza\u00e7\u00e3o de um componente pode custar muito tempo e pode ser que at\u00e9 aumente a complexidade. Isto dificulta o desejo de melhorar o sistema.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"> Ter um sistema com muitas depend\u00eancias e adicionando novas funcionalidades pode se tornar um pesadelo. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Al\u00e9m disto, testar os processos tamb\u00e9m se torna dif\u00edcil porque testar componentes separados \u00e9 quase imposs\u00edvel. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Voc\u00ea como desenvolvedor, \u00e9 muito dif\u00edcil entender todo o sistema por causa da complexidade. Novas funcionalidades s\u00e3o adicionadas regularmente, e os envolvidos com o sistema devem sempre estar por dentro das mudan\u00e7as, isto pode ser um desafio. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Para reduzir os efeitos negativos da complexidade, manter a manuten\u00e7\u00e3o do sistema em dia, n\u00e3o desperdi\u00e7ar tempo, esfor\u00e7o e dinheiro. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">O que precisar ser feito para resolver este problema? A resposta \u00e9 a  modulariza\u00e7\u00e3o. <\/p>\n\n\n\n<p class=\"has-text-color has-background has-very-light-gray-color has-vivid-cyan-blue-background-color wp-block-paragraph\"><strong>Java 9 Modularity Revealed: Project Jigsaw and Scalable Java Applications (English Edition)&nbsp;<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/amzn.to\/315hK0Y\">https:\/\/amzn.to\/315hK0Y<\/a><\/p>\n\n\n\n<p class=\"has-text-color has-background has-very-light-gray-color has-vivid-cyan-blue-background-color wp-block-paragraph\">\u2764\ufe0f&nbsp;Curso Java Para Iniciantes&nbsp;&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&gt;&gt;&gt;&nbsp;<a href=\"http:\/\/bit.ly\/java-swing\" target=\"_blank\" rel=\"noreferrer noopener\">http:\/\/bit.ly\/java-swing<\/a>&nbsp;&nbsp;<\/p>\n\n\n\n<p class=\"has-text-color has-background has-very-light-gray-color has-vivid-cyan-blue-background-color wp-block-paragraph\">\ud83d\udc4d&nbsp;Curso de Desenvolvimento Web Completo&nbsp;&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&gt;&gt;&gt;&nbsp;<a href=\"http:\/\/bit.ly\/2FnB5Sp\" target=\"_blank\" rel=\"noreferrer noopener\">http:\/\/bit.ly\/2FnB5Sp<\/a>&nbsp;&nbsp;&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">#java&nbsp;&nbsp;<\/p>\n\n\n","protected":false},"excerpt":{"rendered":"<p>Conceitos de Programa\u00e7\u00e3o Modular Tenho certeza que voc\u00ea j\u00e1 teve que fazer coisas complexas no seu projeto. O n\u00edvel de complexidade de um software costuma ser baixa no in\u00edcio, mas depois de um tempo a complexidade come\u00e7a a crescer devido as mudan\u00e7as que precisam ser feitas. A complexidade continua crescer constantemente conforme novas funcionalidades s\u00e3o [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":337,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[62],"class_list":["post-336","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-java","tag-modularizacao"],"_links":{"self":[{"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/posts\/336","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/comments?post=336"}],"version-history":[{"count":3,"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/posts\/336\/revisions"}],"predecessor-version":[{"id":648,"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/posts\/336\/revisions\/648"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/media\/337"}],"wp:attachment":[{"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/media?parent=336"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/categories?post=336"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/tags?post=336"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}