IT Training

Java Design Patterns

This training provides a deep understanding of the most common object oriented design patterns. It covers the most useful patterns from the GOF catalogue and the Entreprise Application Patterns (EAP). Through hands-on exercises and discussions, attendees will learn how to incorporate these patterns into new or existing code using modern refactoring tools.

Who should attend this course?

Developers

Prerequisites

Participants should be comfortable with Java language, syntax and object-oriented application development. They should be familiar with Java 8+

This training provides a deep understanding of the most common object oriented design patterns. It covers the most useful patterns from the GOF catalogue and the Entreprise Application Patterns (EAP). Through hands-on exercises and discussions, attendees will learn how to incorporate these patterns into new or existing code using modern refactoring tools.

Introduction to the software development process and software architecture

  • The current challenges of the software development profession
  • Introduction to agile approaches
  • Development of software architecture
  • Continuous quality assessment process
  • Role of patterns when refactoring code
  • CI/CD and DevOps practices

Best Practices for Java Coding

  • “SOLID” principles of R. Martins
  • Rules of the “Clean Code”
  • Unit tests and dependency mocking
  • Static code analysis
  • Review of Java code metrics
  • Code audit with SonarQube
  • Continuous quality control practices

GOF patterns for software design

  • Presentation of the catalog of GOF patterns
  • Understand the objective of GOF
  • GOF creation patterns. Illustration of the most recurring patterns (Singleton, Abstract Factory, Factory Method, Builder)
  • The patterns of GOF structures. Illustration of the most recurring patterns (Facade, Composite, Adapter, Proxy, Decorator, …)
  • GOF behavior patterns. Illustration of the most recurring patterns (Observer, Strategy, Command, Template method, State, …)
  • Know how to identify code gaps and know how to align with GOF patterns

EAP Patterns (Enterprise Application Patterns) by M. Fowler

  • Presentation of M. Fowler’s catalog of EAP patterns
  • Implementation of “layering” and weak coupling between modules
  • Isolate transverse functions (Logging, Factories, …) in dedicated modules
  • Design of the data access layer respecting the “Repository” pattern
  • Design of the business layer respecting the principles of the “Domain Model” and “Domain Driven Design”
  • Case study: Build multi-module Spring Boot applications while respecting the catalog of EAP patterns

Micro-service architectures

  • What is a micro-services architecture
  • Service composition patterns
  • Implementation of Miro-services patterns with Spring Cloud
  • Automatic discovery of services with Spring Cloud Eureka
  • Gateway and dynamic routing with Spring Cloud Zuul
  • Scalability, load distribution with Spring Cloud Ribbon
  • REST client with Spring Cloud Feign

Practical information

Duration

3 Days

Languages

EN

Price

€1450,00 + 21% VAT

Location

Classroom/Online Courses

Schedule

Guaranteed to run

English courses
23/3 - 24/3 - 25/3Book
08/6 - 09/6 - 10/6Book
14/9 - 15/9 - 16/9Book
07/11 - 08/11 - 09/11Book

Share this course on

Book your training

Enter your information to confirm your booking.

    Prerequisite test

    Looking for a tailor made solution?