Course curriculum

  • 1

    Getting Started

    • What you will learn

    • Programme overview

    • Setting up your environment

    • Setting up Java and Git

    • Using IntelliJ

    • Using Eclipse

  • 2

    The Builder Pattern

    • Builder Basics

    • Introducing the problem domain

    • Limitations of default constructors and setter methods.

    • Parameterised constructors and their limitations

    • Builders in action

    • Exercises

    • Builders with mandatory and optional values

    • Exercises

    • External builders and prototypes

    • Exercises

    • Quiz

  • 3

    Expressing your expectations using Hamcrest Matchers

    • Hamcrest Matchers

    • Exercises

  • 4

    Basic Design Patterns

    • The Single Level of Abstraction Principle

    • Polymorphism in Action

  • 5

    The Strategy Pattern

    • Introduction to the Strategy Pattern

    • Exercises

    • Using the Strategy pattern with Factories

    • Exercises

    • Strategies and Functions (part 1)

    • Exercises

    • Strategies and Functions (part 2)

    • Strategies and Lambdas

    • Exercises