Chapter 5. Extension Points
In this chapter, we will introduce and explore the theory and design concepts used while developing Jenkins plugins. We will cover the high-level concepts here with some generic examples as a preparation for the next two chapters where we will see how to implement these ideas for real.
In this chapter, we will take a look at the following design patterns:
- Interfaces
- Abstract classes
- Singletons
Also, we will review several important design concepts:
- Design by contract
- Extension points
- Creating extensions
- Annotations