Catálogo de Refatoração: Lidando com Generalização #3

Extrair subclasse – use quando encontrar uma classe que tem características que são utilizadas apenas em algumas instâncias executadas na solução. Crie uma subclasse para esse subconjunto de características, separando as classes e as instancias polimorficamente da superclasse original.

Extrair superclasse – use quando encontrar diversas classes clientes que usam o mesmo subconjunto da interface de uma classe ou em casos de existirem duas classes diferentes que tem parte de suas interfaces em comum. Extraia o subconjunto para uma interface e use instâncias polimórficas na solução.

Condensar Hierarquia – use quando encontrar uma superclasse e uma subclasse que não são muitos diferentes, no qual a subclasse não está acrescentando em nada. Junte-as na mesma superclasse e apague a subclasse.

Para todas as informações, veja o post inicial.

“Ele foi rejeitado e desprezado por todos; ele suportou dores e sofrimentos sem fim. Era como alguém que não queremos ver; nós nem mesmo olhávamos para ele e o desprezávamos.” Isaías 53:3

Anúncios

Nova Geração de Desenvolvedores de Software

“A aura de ignorância e incompetência de um jovem, combinada com expectativas de recompensas imediatas e substanciais sem relação com o desempenho, pode ser o beijo da morte em qualquer entrevista para um bom emprego.”

Já viu aqueles marmanjos falando “Eu não gosto de xml! Xml é xatu! Eu não gosto de JSF, eu gosto de angular! Gugu dada!!!!”

Pior de tudo é ver que o T.I. ta cheios desses – http://www.huffpostbrasil.com/marcia-sirota/pais-helicoptero-estao-criando-filhos-simplesmente-inimpregav_a_23010841/

Canal SouJava

Você não pode perder o novo Canal do SouJava no YouTube, as melhores tecnologias, os melhores palestrantes, pra você se atualizar e se tornar um desenvolvedor de primeira linha! Siga a nosso canal: http://jav.mn/canalsoujava. Palestras mensais ao vivo!

“Porque até o Filho do Homem não veio para ser servido, mas para servir e dar a sua vida para salvar muita gente.” Mateus 20:28

Feliz JNatal

Desejo a todos um feliz e natal e boas festas! Um 2017 abençoado!

duke_natal

“Foi assim que Deus mostrou o seu amor por nós: ele mandou o seu único Filho ao mundo para que pudéssemos ter vida por meio dele.”1 João 4:9

Pacote: Arquiteto de Soluções Java

For-j Treinamentos

Architects-in-Dubai-Architecture-Companies-in-Dubai

Devida a rápida e continua evolução computacional e o aumento constante das complexidades tecnológicas, as empresas tem reconhecido a necessidade de preencher e remunerar um novo papel estratégico dentro da equipe de desenvolvimento de software denominado “Arquiteto de Software”. Esse novo profissional é quem atualmente tem sido responsável pela conversão das necessidades de negócios corporativas em tecnologia, potencializando no desenvolvimento de soluções as qualidades mínimas requeridas como segurança, performance, escalabilidade, reutilização, redução de custos e a evolução sustentável do negócio e da tecnológica adotada.

Respondendo a essa crescente demanda de profissionais qualificados, a FOR-J disponibiliza uma combo de cursos que combinados entre si fornecem o escopo completo de formação para qualquer programador se tornar um arquiteto de soluções Java: Segue os cursos:

  1. AQT M1 – Introdução a Arquitetura de Software: Objetivo desse curso é oferecer conhecimentos teórico e práticos básicos relacionado a criação de uma arquitetura de software, que promova flexibilidade…

Ver o post original 190 mais palavras

Pacote: Desenvolvedor Java Web

For-j Treinamentos

mandamentos-gestao-pessoas-sucesso

Com a evolução e a disseminação da Internet, soluções direcionadas para a web passaram de simples páginas estáticas para grandes soluções corporativas, tornando-se um padrão de mercado. O modelo de aplicações Cliente/Servidor desktop foram então totalmente substituídos pelo modelo web dinâmico. Segue abaixo um resumo dos motivos disso:

  • Acessibilidade – Qualquer lugar no mundo (sem fronteiras), as soluções web estão disponível a 24 Hs e 7 dias por semana etc…
  • Cliente Magro – Não precisam de capacidade de processamento e nem instalação local.
  • Execução Distribuída e Escalabilidade – Diferentes partes da aplicação são executadas em diferentes maquinas, possuindo infraestrutura escalável e elástica para suportar números crescentes de acessos simultâneos.
  • Manutenção e Atualização – Novas versões das soluções são atualizadas nos servidores propagando-se para o mundo, sem a necessidade de atualização local.
  • Multiplataforma e Multidispositivos – Comunicação e apresentação padrão de conteúdo da web W3c independente de plataforma de execução, sendo…

Ver o post original 262 mais palavras