formação_
Formação Arquitetura e Design de Projetos Java
Modelo o seu projeto usando boas práticas e padrões de projeto como o SOLID. Use BDD e DDD e saiba as vantagens da Clean Architecture.
Para conclusão
Assista o vídeo
veja nossa apresentação da Formação e uma Alura Live sobre a Carreira em Front-end
Arquitetura e Design de Projetos Java
O foco dessa formação é ensinar para o aluno ou a aluna alguns padrões de projeto e boas práticas de código , como o MVC, o SOLID e alguns outros.
Além disso, vamos mostrar a importância de ter testes automatizados e testes de integração, além do BDD. Não podem faltar os famosos padrões de projeto apresentados na pratica, tudo isso usando a linguagem Java.
Para finalizar, vamos ter uma introdução de arquitetura de software e você entenderá como modelar o seu projeto seguindo o DDD, um conceito em que você modela partindo do domínio .
Por que estudar esta formação?
Guia de aprendizado
Conteúdos pensados para facilitar seu estudo
Do básico ao avançado
Formação completa para o mercado
Você dentro do mercado
Do zero ao sonhado emprego em sua área de interesse
Comece essa formação agora mesmo e capacite-se para seu próximo projeto!
Conheça os planosProfessores especializados Programação
Com quem você vai aprender
Nico Steppat
Nico trabalha na área de tecnologia há mais de 20 anos e atuou como desenvolvedor e instrutor no Brasil e na Alemanha. Participa ativamente na comunidade e com uma experiência de mais de 12 anos em educação, coordena hoje equipes de instrutores e é responsável pela curadoria de cursos online na Alura.
-
Nico Steppat
Nico trabalha na área de tecnologia há mais de 20 anos e atuou como desenvolvedor e instrutor no Brasil e na Alemanha. Participa ativamente na comunidade e com uma experiência de mais de 12 anos em educação, coordena hoje equipes de instrutores e é responsável pela curadoria de cursos online na Alura.
Rodrigo Ferreira
Sou programador e professor. Trabalho desde 2008 com desenvolvimento de software, focado em aplicações Web, arquitetura e segurança, e desde 2012 como professor, produzindo e ministrando diversos cursos de programação e DevOps.Nas horas vagas brinco com os meus 5 gatos de estimação e gosto de estudar e compartilhar conhecimentos sobre educação financeira e investimentos :)
-
Rodrigo Ferreira
Sou programador e professor. Trabalho desde 2008 com desenvolvimento de software, focado em aplicações Web, arquitetura e segurança, e desde 2012 como professor, produzindo e ministrando diversos cursos de programação e DevOps.Nas horas vagas brinco com os meus 5 gatos de estimação e gosto de estudar e compartilhar conhecimentos sobre educação financeira e investimentos :)
Vinicius Dias
Zend Certified Engineer (Engenheiro PHP Certificado pela Zend), iMasters Certified Professional, desenvolvedor Full Stack, formado em Tecnologia da Informação e amante de boas práticas de desenvolvimento, sempre tento aplicar a regra do bom escoteiro nos códigos: Sempre deixe o local mais limpo do que quando você o encontrou.
-
Vinicius Dias
Zend Certified Engineer (Engenheiro PHP Certificado pela Zend), iMasters Certified Professional, desenvolvedor Full Stack, formado em Tecnologia da Informação e amante de boas práticas de desenvolvimento, sempre tento aplicar a regra do bom escoteiro nos códigos: Sempre deixe o local mais limpo do que quando você o encontrou.
Passo a passo
1 Boas práticas de código
No nosso primeiro passo, vamos conhecer algumas boas práticas, começando com o padrão Tell, don't ask . Em seguida vamos ver dicas sobre o uso de
if
s no seu código e práticas de herança.Também vamos conhecer os 5 princípios do SOLID, que são práticas pensando em facilitar a manutenção do seu código.
-
Alura+ Tell, don't ask e Fail Fast
-
Curso SOLID com Java: princípios da programação orientada a objetos
08h - Aprenda conceitos avançados de orientação a objetos
- Escreva código coeso com Single Responsibility Principle
- Saiba como lidar com acoplamento
- Entenda a fundo os ganhos do encapsulamento
- Domine os princípios de código sólido
- Veja técnicas e exemplos em Java
-
Artigo O que é Clean Code?
Faça esse curso e:
Mais detalhesdo curso SOLID com Java: princípios da programação orientada a objetos
-
2 Modelagem e padrões
Agora vamos começar a ver mais práticas e padrões em nosso podcast, entender um pouco sobre modelagem orientada e objetos e conhecer os famosos padrões de projeto usando Java.
-
Podcast Práticas de Orientação a Objetos - Hipsters #129
-
Podcast Design Patterns – Hipsters #206
-
Curso Design Patterns em Java I: boas práticas de programação
08h - Não repita código com Template Method
- Saiba da importância de estudar os padrões de projeto
- Resolva problemas de muito ifs usando Strategy
- Adicione comportamentos ao seu objeto com Decorator
- Crie diferentes ações com Observer
- Use o Builder para a criação de objetos complicados
-
Curso Design Patterns em Java II: avançando nas boas práticas de programação
06h - Isole o código de bibliotecas com o pattern Adapter
- Torne flexível a mudança de um método com o pattern Decorator
- Simplifique a interface de uso de uma classe com o pattern Facade
- Aprenda a compor comportamentos com o pattern Composite
- Utilize o pattern Proxy para implementar um mecanismo de cache
Faça esse curso e:
Mais detalhesdo curso Design Patterns em Java I: boas práticas de programação
Faça esse curso e:
Mais detalhesdo curso Design Patterns em Java II: avançando nas boas práticas de programação
-
3 Testes
Escrever um código que não funciona é algo muito normal na carreira de um desenvolvedor ou desenvolvedora, e deixar essa falha passar pode sair muito caro para a empresa. Por esse motivo existe os testes automatizados, vamos conhecer alguns tipos de teste que são usados, em vamos praticar TDD, testes de unidade e testes de integração e aplicar o BDD.
-
Alura+ Entenda a Pirâmide de Teste
-
Curso TDD e Java: testes automatizados com JUnit
08h - Entenda a importância de escrever testes automatizados em uma aplicação
- Conheça o JUnit, principal biblioteca para testes automatizados em Java
- Aprenda a escrever testes automatizados com JUnit
- Aprenda a utilizar o processo de TDD ao escrever testes automatizados
- Conheça as principais anotações e recursos do JUnit
-
Curso Testes de Integração: testes de SQL e DAOs automatizados em Java
06h - Use das boas práticas nos testes de integração
- Conheça as classes de equivalência
- Lide com os problemas do teste de integração
- Aprenda como testar alterações no banco de dados
-
Curso Selenium: testes automatizados de aceitação em Java
08h - Conheça as vantagens do Selenium
- Valide o comportamento esperado
- Faça códigos de qualidade com Page Objects
- Suba o browser automaticamente
- Preencha formulários automaticamente
- Teste telas com AJAX
-
Curso BDD e Java: Behavior Driven Development com Cucumber
10h - Saiba o que é BDD e onde ele se encaixa no desenvolvimento de software
- Aprenda a criar funcionalidades e cenários
- Use o Cucumber e a linguagem Gherkin para criar requisitos executáveis
- Personalize os testes, passe valores e conjuntos de dados
- Integre o Selenium e execute testes End-2-End pelo Cucumber
- Crie testes mais valiosos, orientados ao negócio
Faça esse curso e:
Mais detalhesdo curso TDD e Java: testes automatizados com JUnit
Faça esse curso e:
Mais detalhesdo curso Testes de Integração: testes de SQL e DAOs automatizados em Java
Faça esse curso e:
Mais detalhesdo curso Selenium: testes automatizados de aceitação em Java
Faça esse curso e:
Mais detalhesdo curso BDD e Java: Behavior Driven Development com Cucumber
-
4 Arquitetura
Chegando perto do final da formação, vamos com conhecer o padrão MVC, que é muito usado em aplicações Web. Vamos ter uma introdução sobre o que é arquitetura de software desde modelagem, até organização do seu projeto.
Para finalizar, vamos conhecer alguns conceitos de Domain Driven Design, ou seja, vamos modelar partindo do domínio do projeto.
-
Alura+ Design de código vs Arquitetura de software
-
Alura+ Clean Architecture (Arquitetura Limpa) - O que é?
-
Curso Java e Clean Architecture: descomplicando arquitetura de software
10h - Aprenda o que é arquitetura de software
- Conheça padrões arquiteturais como Clean Architecture
- Saiba as vantagens de módulos
- Use padrões como Services, Entidades, Repositórios, entre outros
- Entenda os casos de uso
-
Curso Java e Domain Driven Design: apresentando os conceitos
08h - Aprenda e aplique as técnicas do desenvolvimento guiado ao domínio, o famoso DDD
- Crie software que realmente entregue valor ao cliente
- Garanta a agregação de valor
- Organize o software de maneira mais profissional e robusta
- Conheça mais sobre eventos, contextos e camadas
Faça esse curso e:
Mais detalhesdo curso Java e Clean Architecture: descomplicando arquitetura de software
Faça esse curso e:
Mais detalhesdo curso Java e Domain Driven Design: apresentando os conceitos
-
nossos alunos e alunas
Experiências de quem já mergulhou com a gente.

Curso completamente objeto e claro no seu objetivo, excelente!
SOLID com Java: princípios da programação orientada a objetos
Rafael Adriano Da Silva

parabens pelo exemplos apresentados que tambem estao presentes no dia-a-dia de desenvolvimento
Design Patterns em Java II: avançando nas boas práticas de programação
EDILSON BELO DA SILVA

Muito boa a didática do professor, a maneira que cria o código e encontra possibilidade de melhorias para aplicar os padrões do curso.
Design Patterns em Java I: boas práticas de programação
MAYKON TAROCO
Comece hoje mesmo os cursos de Arquitetura e Design de Projetos Java. Matricule-se agora!
Plus
- Acesso a TODOS os cursos da plataforma
Mais de 1200 cursos completamente atualizados, com novos lançamentos todas as semanas, em Programação, Front-end, UX & Design, Data Science, Mobile, DevOps e Inovação & Gestão.
- Alura Challenges
Desafios temáticos para você turbinar seu portfólio. Você aprende na prática, com exercícios e projetos que simulam o dia a dia profissional.
- Alura Cases
Webséries exclusivas com discussões avançadas sobre arquitetura de sistemas com profissionais de grandes corporações e startups.
- Certificado
Emitimos certificados para atestar que você finalizou nossos cursos e formações.
- Alura Língua (incluindo curso Inglês para Devs)
Estude a língua inglesa com um curso 100% focado em tecnologia e expanda seus horizontes profissionais.
Pro
- Acesso a TODOS os cursos da plataforma
Mais de 1200 cursos completamente atualizados, com novos lançamentos todas as semanas, em Programação, Front-end, UX & Design, Data Science, Mobile, DevOps e Inovação & Gestão.
- Alura Challenges
Desafios temáticos para você turbinar seu portfólio. Você aprende na prática, com exercícios e projetos que simulam o dia a dia profissional.
- Alura Cases
Webséries exclusivas com discussões avançadas sobre arquitetura de sistemas com profissionais de grandes corporações e startups.
- Certificado
Emitimos certificados para atestar que você finalizou nossos cursos e formações.
- Alura Língua (incluindo curso Inglês para Devs)
Estude a língua inglesa com um curso 100% focado em tecnologia e expanda seus horizontes profissionais.
Acesso completo
durante 1 ano
Estude 24h/dia
onde e quando quiser
Novos cursos
todas as semanas