Any solution we write should be written in a way that it is extendable with minimal impact on the existing code. When writing a solution as an Independent Software Vendor (ISV), it is critical to avoid situations where our customers are forced to use inelegant workarounds in order to make the vertical solution fit their specific requirements.
Writing for extensibility takes the form of writing delegates, with relevant and careful consideration of whether to assign private, protected, or public to our methods. We would also split out code into more methods, which is good practice in any case but also serves a purpose in enabling Chain of Command. The recipes in this chapter are focused on topics that help us create extendable solutions.
In this chapter, we'll cover the following recipes:
- Writing and using delegates
- Using the attribute framework to...