Últimas notícias do evento

Dicas de Arquitetura de Software com Java

Postado em Atualizado em

org-320%2fschool-320%2f7d9bfc5e9dc56593d4a38668fdf743e1%2farquiteto2No curso AQT  M1 – Arquitetura de Software com Java, nós ajudamos os desenvolvedores Java a subir um pouco mais o nível de seus conhecimentos, deixando de ser meros programadores e passando a ter uma visão de arquiteto de software, compreendendo questões e princípios básicos de arquitetura. No final do curso, nós implementamos uma solução completa em java, desde de interfaces gráficas desktop , web, regras de negócio, até a persistência em banco de dados relacionais, provando então todos esses conceitos na prática.

Dezenas de alunos e profissionais tem feito o curso e além do feedback 100% positivo, eles tem me perguntando “como” poderiam evoluir a proposta arquitetural ministrado no curso, para um nível mais sofisticado e mais profissional. Hoje eu gostaria abrir essa conversa e dar cinco dicas sobre isso, a como adicionar mais produtos e melhorar a arquitetura proposta:

1.Validação de Negócio

No curso, a validação de negócio ficou dentro da classe domínio Cliente [domain model pattern], implementada de forma manual. Uma sofisticação dessa opção seria substituir a validação manual pela especificação java bean validation, evitando assim DRY e tendo uma melhor produtividade na validação. Sugiro provedor hibernate validation.

2.Fabricas

No curso, a criação do objeto responsável pela implementação da persistência seguindo o contrato da camada repositório [domain model repository pattern] ClienteJdbcImp, foi a classe FabricaPersistencia [Factory method pattern] implementada de forma manual. Uma sofisticação dessa opção seria substituir a fabrica manual pela injeção de dependência de uma especificação de um container IoC, evitando DRY e uma melhor produtividade. Sugiro provedor Spring IoC.

3.Persistência JDBC

No curso, o framework adotando como tecnologia de persistência da camada repositório foi o JDBC. Uma sofisticação dessa opção seria substituir o JDBC pelo JPA, evitando implementação improdutiva e burocrática das API de baixo nível, seus DRY e uma melhor produtividade. Sugiro provedor hibernate JPA.

4.Comandos SQL

No curso, os comandos SQL’s foram colocados dentro de atributos estáticos finais no formato string na classe ClienteJdbcImp. Uma sofisticação dessa opção seria não fazer SQL, deixando JPA gerar todos essas instruções dinamicamente via estratégia de ORM, evitando DRY e uma melhor produtividade. Sugiro provedor hibernate JPA.

5.Transação JDBC

No curso, os controle transacional ficou a a cargo JDBC usado de forma automática via connection=autocommit na classe ClienteJdbcImp. Uma sofisticação dessa opção seria usar controle de transações declarativas por AOP, evitando DRY, uma melhor produtividade e consistência. Sugiro Spring transactions.

Conclusão

Como pode ser visto, seria impossível e impraticável ensinar cada um desses produtos/tecnologias nesse mesmo curso, ficando ai de sugestão para você, aluno do nosso curso estudar e avançar gradualmente em cada um desses tópicos, a medida que você se despertar para eles. Eu me coloco a total disposição para ajudar sobre o assunto. Até a próxima 🙂 !

“Portanto, não percam a coragem, pois ela traz uma grande recompensa. Vocês precisam ter paciência para poder fazer a vontade de Deus e receber o que ele promete.” Hebreus 10:35-36

Feedback Ead – Groovy F1 Desenvolvedor Groovy

Postado em Atualizado em

feedback-positivoComo sempre, ótimo curso Groovy F1 – Desenvolvedor Groovy, fácil de entender e ótima explicação, com ótimas recomendações didáticas que é sempre uma boa referência.

Bruno Teruya, Londrina – PR.

Criando Sistemas Manuteníveis # 5

Postado em

man-drawing-an-electrical-diagram-chamadaMantenha as interfaces das unidades simples

A maneira de manter as interfaces simples é detectar blocos de dados aglomerados, mantendo-as assinaturas método a um máximo de quatro parâmetros. A maneira de aplicar esta orientação é através do agrupamento de parâmetros em novas nova classe usadas como parâmetros, ao invés de passar como parâmetros individuais. Gostaria de aprender práticas de arquitetura de software? Veja nosso curso AQT M1 – Arquitetura de Software com Java.

Este post faz parte de uma serie de posts, veja o inicial.

“Ela terá um menino, e você porá nele o nome de Jesus , pois ele salvará o seu povo dos pecados deles.” Mateus 1:21

Herança múltipla no Java? No Java8 pode sim

Postado em

Para aqueles que ainda não se atualizaram no Java8, vai ai uma super dica: agora temos a liberdade de usar herança múltipla com defaults method. Segue um exemplo:

 

1

2

3

4

Vale a pena comentar que, mesmo com algumas restrições existente na construção de uma interface, ainda sim é uma forma de herança múltipla que antes não existia no Java. Perceba que essa opção abre inúmeras situações interessantes de design OOP. Mas cuidado, todo poder vem com responsabilidades…..

Gostaria de aprender mais sobre a nova versão do Java8? Veja nosso treinamento avançado de Java: Java SE – F5 Desenvolvedor Funcional Java 8.

“Agora, pois, já nenhuma condenação há para os que estão em Cristo Jesus. Porque a lei do Espírito da vida, em Cristo Jesus, te livrou da lei do pecado e da morte.” Romanos 8:1-2

Lançamento do Curso EAD – PHP F1

Postado em Atualizado em

org-320%2fschool-320%2f3bf3c880418c5a025cd797818bfbdc88%2fphplenguajeObjetivos

Objetivo deste curso é introduzir o participante à tecnologia PHP, tendo como foco principal formar uma base sólida de conhecimentos iniciais. O curso aborda a montagem do ambiente de desenvolvimento e os fundamentos básicos da linguagem de programação PHP.

Público Alvo

Estudantes que queiram adquirir conhecimentos iniciais e básicos sobre a plataforma PHP.

Nível de Dificuldade

Básico iniciante.

Pré-requisitos

  • Lógica de programação ou conhecimentos em alguma linguagem de programação.
  • Pc contendo no mínimo de 2 GB RAM com Windows VISTA/WIN7/WIN10.

Exercícios

Total de 38 exercícios, 3 minutos em média de tempo para cada um.

Tempo de Aula

  • 4h00 de videos em aulas.
  • 1h20 de exercícios práticos.
  • Total aproximado de 5h20 de horas em aula.

Disponibilidade

Acesso ilimitado por 45 dias a partir da matrícula.

EAD

Conteúdo Programático:

Introdução

  • Por que usar php ?
  • Principais vantagens.
  • Soluções que usam php.
  • Comunidade PHP.

Ambiente de desenvolvimento 

  •  As principais ferramentas para desenvolver com PHP.
  •  Instalando XAMPP e Eclipse.
  • Tunning do Eclipse

SintaxeHello world

  •  Conhecendo a sintaxe básica
  •  Escrevendo o primeiro script
  •  Exercícios

Variáveis

  •  Como declarar uma variável
  •  Diferença entre escopos
  •  Exercícios

Echo e print

  •  Como imprimir variáveis e outros dados.

PHP CLI

  •  Rodando PHP via command line.

Comentários

  •  Comentando os códigos para que eles fiquem documentados.

Tipos de dados

  •  Conhecendo os tipos de dados que a linguagem PHP aceita
  •  Exercícios

Funções

  •  Criando funções para reproveitamento de código
  •  Exercícios

Manipulando strings

  •  Conhecendo funções úteis para trabalhar com strings
  •  Exercícios

Funções Numéricas

  •  Conhecendo funções úteis para trabalhar com números
  •  Exercícios

 PHPINFO

  • Conhecendo a função phpinfo();
  •  Exercícios

 Constantes

  •  Definindo constantes
  •  Exercícios

 Operadores

  •  Conhecendo os operadores da linguagem PHP.
  •  Exercícios

 Estruturas de condição: IF / ELSE

  •  Aprendendo a tomar decisão dentro de um programa com a estrutura if / else
  •  Exercício

 Operadores Ternários

  •  Conhecendo os operadores da ternários.
  •  Exercícios

  Estruturas de condição: SWITCH  CASE

  •  Aprendendo a tomar decisão dentro de um programa com a estrutura switch / case
  •  Exercícios

  Estruturas de repetição: FOR  FOREACH

  •  Criando laços de repetição com a estrutura FOR / FOREACH.
  •  Exercícios

  Estruturas de repetição: WHILE 

  •  Criando laços de repetição com a estrutura WHILE / DO WHILE.
  •  Exercícios

  Arrays

  •  Trabalhando com estruturas de dados complexas.
  •  Exercícios

  Arquivos

  •  Lendo e escrevendo em arquivos.
  •  Exercícios

Instrutor Guilherme Costa

Graduado em Engenharia da Computação, Profissional Certified Android Application Development, JQuery Certified , PHP Certified e Oracle Java Associate, há mais de 7 anos desenvolvendo soluções corporativas desktop, web e mobile com a plataforma Java, Android, PHP e eBay Magento Commerce. Entusiasta de desenvolvimento mobile, Guilherme é especialista em PHP e soluções mobile nativas, web e hibridas. Para todas as informações, veja blog pessoal.

Feedback Ead – Arquitetura de Software com Java

Postado em

feedback-positivo“O treinamento Arquitetura de Software com Java tem um nível excelente de conteúdo, ele conseguiu ser instrutivo do início até o fim. Não é um treinamento cansativo, é muito fácil acompanhar as explicações, o estudo de caso mata todas as questões descritas conceitualmente e o Fernando Franzini, instrutor possui uma didática impressionante! Indico esse treinamento a TODOS que querem desenvolver programas sem medo de dar manutenção nele futuramente!”

Alan Messias Cordeiro de Lacerda, São José do Jacuípe – BA.

Catálogo de Refatoração: Organizando Dados #6

Postado em

1429038287_86543231Substituir Enumeração pelo Padrão State ou Strategy – use quando encontrar uma classe que tenha uma enumeração numérica utilizada como variáveis inteiras que tenha influência no comportamento da classe, mas que por algum motivo você não consegue substituir por subclasses. Substitua a enumeração por um objeto que represente o estado do objeto original usando State ou Strategy, escolhendo o que se ajustar melhor a situação especifica.

Substituir Subclasse por Campo – use quando encontrar subclasses que diferem somente em métodos que retornam dados constantes. Transforme os métodos em campos na superclasse e elimine as subclasses uma vez que esse tipo de situação não se justifica sua existente.

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

“Tenha cuidado com o que você pensa, pois a sua vida é dirigida pelos seus pensamentos.” Provérbios 4:23