Java Design Principles

Part of our "Java & Spring" courses

3 days

Java Design
Outline Last updated:

Course Overview

This is a course explains best practices, patterns and key concepts of Java Application design.

Course Prerequisites

Knowledge of Software development is required. some exposure to OOP is beneficial.

Outline

Domain Modelling

  • Object-oriented ecosystem (concepts, roles, methods, tools)
  • Requirements Modelling (business/user/functional/quality requirements)
  • Use-case driven design (and alternatives)
  • Domain modeling (identifying domain concepts and classes)
  • System Behavioural modelling
  • Object-oriented Software Design (in code, through re-factoring and when needed in UML)
  • Abstraction (and single abstraction SLAP)
  • Java and the Anemic domain Model
  • Cohesion
  • Coupling
  • Law of Demeter (LoD)

Design and Software Architecture Principles

  • Coupling
  • DRY (don't repeat yourself)
  • Rule of the least power
  • YAGNI ("you ain't gonna need it")
  • TDD cycles (red-green-refactor)
  • EIP (enterprise integration Patterns)
  • Don't make code better than needed (flexibility, performant)
  • Cost of over-engineering

Frequently asked questions

How long is the Java Design Principles course?

3 days, on-site or online. Sessions can run on consecutive days or be spread out to fit your team's schedule.

What are the prerequisites?

Knowledge of Software development is required. some exposure to OOP is beneficial.

How large are the groups?

Deliberately small so the trainer can adapt to every participant: at most 10 on-site and 7 online.

In which languages can the course be delivered?

English or French.

This Java Design Principles course looks very interesting, I do however have a question

Related courses