Abstraction Level Reuse - Example
publish date: 2026/06/13 06:39:46.338593 UTC
A development team is designing a new notification system. They do not reuse any existing code, but they use the Observer pattern as the basis for their design. At which level of software reuse are they operating?
Correct Answer
Explanation
Using the Observer pattern without reusing any actual code is abstraction-level reuse. At the abstraction level, you don't reuse software directly but rather use knowledge of successful abstractions (design patterns and architectural patterns) in the design of your software. The team is reusing the idea - the structure of Subject, Observer, ConcreteSubject, and ConcreteObserver - and implementing it themselves to suit their specific requirements.
Reference
Software Engineering, Ian Sommerville, 10th edition
