Object-Oriented Patterns in Java

3 Day Course
Code PSD024

Book Now - 1 Delivery Method Available:

Classroom Virtual Classroom Private Group - Virtual Self-Paced Online


Java provides a context for design and expressing design. It offers a number of mechanisms that may be used to express design, working through from problem to solution. Principles provide a mental framework for developers to both work within and take advantage of. Many problems have solutions that are structurally similar to each other, with common issues and rationale. This is something that more experienced developers learn to recognise and apply. A pattern captures and communicates this experience in a reusable form. The course introduces these principles and practices to Java developers and is based around lectures, discussion and exercises.


Collapse all

OO Concepts (1 topic)

  • Objects, Identity, State, Behaviour, Encapsulation, Classes, Objects, Polymorphism, Inheritance, Overloading, Overriding.

Modelling (1 topic)

  • UML, Patterns, Prototyping, Testing, Refactoring, Iterative and Incremental development.

Structuring Objects (1 topic)

  • Object Relationships, Delegation, Design by Contract, CRC Cards, Collections, Values, Entities, Services.

Design Principles (1 topic)

  • Structure, Delegation, Decoupling, Complexity, Simplicity, Minimalism, Context, Substitutability, Delegation, Dependency, Constraints, Coupling, Cohesion.

Patterns (4 topics)

  • The Design Patterns book.
  • Creational patterns: Abstract Factory, Factory Method, Prototype.
  • Structural Patterns: Adapter, Bridge, Composite, Flyweight, Proxy.
  • Behavioural patterns: Command, Iterator, Observer, State, Template Method, Visitor, Null Object.

Idioms (1 topic)

  • Collections, Iteration, Whole Value, Enumeration Values, Copied Value, Immutable Value, Mutable Companion.


The course is at an intermediate to advanced level and is suitable for developers with existing Java skills. Existing familiarity with patterns is not required.

Course PDF


Share this Course


Recommend this Course