- 2069 Chaitra · 4 marks
- Year not given · 4 marks
Application framework versus component reuse
Short answer
Application frameworks reuse a design and architecture through white-box extension with inversion of control, requiring knowledge of internals. Component reuse composes independent black-box components through interfaces, with application code controlling flow and needing only interface specs. Frameworks are large and tied to their architecture; components are smaller, replaceable, and follow standards like EJB or .NET.
Provide a brief comparison of application framework versus component reuse.
An application framework is a reusable sub-system design made of a collection of abstract and concrete classes and the interfaces between them. An application is built by extending the framework (adding subclasses and filling in "hot spots"). Component reuse means building an application by composing independent, ready-made components that are used through their published interfaces.
| Point | Application framework | Component reuse |
|---|---|---|
| What is reused | A design plus code: a skeleton of a whole application or sub-system | Individual, self-contained components |
| Granularity | Large | Small to medium |
| Reuse style | White-box: extended by subclassing and overriding methods | Black-box: used only through interfaces |
| Control flow | Inversion of control: framework calls the application code ("don't call us, we'll call you") | Application code calls the components |
| Knowledge needed | Must understand the framework's internal design; steep learning curve | Need to know only the interface specification |
| Independence | Tied to the framework's language and architecture | Independent and replaceable; deployed separately |
| Standards | Defined by the framework itself | Component models such as EJB, .NET, CORBA CCM |
| Examples | MVC frameworks (Spring MVC, Django), GUI frameworks, Java Swing | Payment gateway component, report generator component, ActiveX/.NET controls |
In short: frameworks reuse a design and architecture and are customised from inside; components reuse implemented services and are plugged together from outside. They are often combined, e.g. a web application built on a framework that also uses third-party components.
✓ Answer checked by Claude Sonnet 5.5
Related questions
- Reuse framework versus program generator · Software Engineering, chapter 5
- Distributed object versus multiprocessor architecture · Software Engineering, chapter 3
- General OS versus real-time OS · Software Engineering, chapter 4
- Web application framework, advantages, MVC · Web Technology, chapter 5
- Series versus parallel circuit comparison · Basic Electrical Engineering, chapter 1
- CMS and difference from web framework · Web Technology, chapter 5
- CFL versus filament bulb economic comparison · Engineering Economics, chapter 4