Table of Contents
Preface
Part 1: Design Patterns and Java Platform Functionalities
1
Getting into Software Design Patterns
Technical requirements
Code – from symbols to program
Examining OOP and APIE
Only exposing what’s required – encapsulation
Inevitable evolution – inheritance
Behavior on demand – polymorphism
Standard features – abstraction
Gluing parts to APIE
Understanding the SOLID design principles
The single-responsibility principle (SRP) – the engine is just an engine
The open-closed principle (OCP)
The Liskov Substitution Principle (LSP) – substitutability of classes
The interface segregation principle (ISP)
The dependency inversion principle (DIP)
Significance of design patterns
Reviewing what challenges design patterns solve
Get Practical Design Patterns for Java Developers now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.