12.2Changeability is a crucial nonfunctional property for any professional software. One particularly important kind of changeability is extensibility. New use cases and new requirements keep arising all the time once a system is deployed. Very often, it is only at this point that users begin to realize what could be done in software—and then they continue asking for new features all the time. This section examines architectural approaches to extensibility, after providing an introduction to its technical aspects.
12.3.1 Basic Techniques and Considerations
One of the great attractions of object-oriented software development ...