The objective of this chapter is to introduce the reader to the fundamental concepts of writing robust, maintainable, and extendable code using design patterns and the latest features available in Java. In order to achieve our objective, we will cover the following topics:
- What are programming paradigms?
- Imperative paradigm
- Declarative and functional paradigms
- Object-oriented paradigm
- An overview of Unified Modeling Language
- Object-oriented design principles