Java Design Principles

Part of our "Java & Spring" courses

3 days

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.


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

Private Events

Is your team in need of a a Java Design Principles course?

Send us a message, and we'll get in touch, without any obligation.


Request a free quote

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