Visão Geral
Este Curso Intermediate/Advanced Java é um curso moderno e rápido, adequado para desenvolvedores com alguma experiência anterior em trabalhar com Java e programação orientada a objetos (OO). O curso também pode ser ministrado para desenvolvedores com experiência em outras linguagens OO (Python, C++, C#), mas com exposição limitada a Java, bem como usado como um curso Java avançado para desenvolvedores mais experientes. Existem inúmeras partes opcionais que permitem adaptar a cobertura ao seu grupo. Inclui uma revisão prática acelerada, porém completa, dos conceitos fundamentais do Java, com atenção dada aos princípios de design e implementação de OO. Esta revisão também inclui uma visão geral dos recursos de linguagem mais recentes, como a API de data/hora (Java 8+), inferência de tipo com var e expressões switch. Em seguida, passa para uma cobertura abrangente de tópicos mais avançados em desenvolvimento Java e OO para fornecer aos participantes uma base sólida para usar Java de maneira sofisticada e produtiva. Isso inclui uma cobertura aprofundada da programação funcional com lambdas e streams, bem como do Java Platform Module System (JPMS). Os módulos Java apresentam uma mudança fundamental na forma como os aplicativos são organizados e interconectados às bibliotecas que utilizam. Estratégias de migração também são abordadas, incluindo um estudo de caso passo a passo. Este curso cobre muito mais do que um curso introdutório, incluindo tópicos importantes como UML e Design Patterns, e o uso de composição versus herança, que são essenciais para a criação de sistemas OO bem estruturados. Após essas áreas importantes, passa-se para os tópicos avançados de Java descritos acima. Ele ensina uma série de técnicas úteis que aumentam a produtividade e o bom design do sistema - o que, de outra forma, poderia levar anos para os desenvolvedores Java absorverem por conta própria. Os testes unitários são enfatizados ao longo do curso, com a maioria dos laboratórios implementados como testes JUnit. O curso é muito prático, incluindo vários exemplos de código e laboratórios de programação que reforçam os conceitos apresentados, para que os participantes possam aplicar imediatamente o que aprenderam em seus projetos atuais. Ele foi projetado para ser flexível e pode ser personalizado para atender às suas necessidades. Esteja preparado para trabalhar duro e aprender muito!