Those new to software development tend to focus their efforts on mastering the programming language. Once that barrier is passed, it is time to embrace design patterns, as writing high-quality and complex software is hardly possible without them. Mostly attributed to experienced developer use, design patterns represent a well established solution to common challenges faced in our applications. Successfully applying design patterns is likely to lead to more extensible, reusable, maintainable, and adaptable code.
The examples within this chapter are not meant to be copied and pasted. They merely serve a purpose of representing one possible implementation of design patterns. After all, real-life applications are all about details. Furthermore, there are plenty of other design patterns out there, with new ones being invented as technology and programming paradigms shift.
In this chapter, we will take a look at a few possible implementations of design patterns...