CS 4448 - Fall 1998
Object-Oriented Programming and Design
Talk 8.2
by
Jennifer Dai
A Realistic Look at Object Oriented Programming
by
Scott Ambler
I. Type of Reuse:
II Code Reuse
--The most common kind of reuse
--sharing common classes
--copying and modifying exiting code
--have access to the source code
--main advantage:
--reduces the actual amount of source code need to write
--decreases both development and maintenance cost
- Inheritance Reuse
- Advantage
- Decrease development time and cost
- Disadvantage
- Misuse results higher level of reuse
- Fragile class hierarchy difficult to maintain and enhance
- Template reuse
- Document reuse
- Advantage
- Increase the consistency and quality of development artifacts
- Disadvantage
- Not share changes with coworkers
- Component Reuse
- Use of pre-built components in the application
- Don’t have access to the source code
- Don’t use subclasses
- Advantage
- Greater scope of reusability
- Create at a low cost
- Disadvantage
- Need a large library of them
- Framework Reuse
- Use of classes that implement the basic functionality
- Advantage
- Encapsulate complex logic
- Disadvantage
- Difficult to master
- Platform-specific
- Artifact reuse
- Advantage
- Promotes consistency between projects
- Reduces the project management burden
- Can purchase or find them on line
- Disadvantage
- Perceived as overhead reuse
- Pattern reuse
- The use of publicly documented approaches to solve common problems
- Advantage
- Can implement across multiple languages
- Recognizable
- Don’t provide an immediate solution
- Domain component reuse
- Large scale, reusable business components
- Provides greatest potential for reuse
- Advantage
- Can use them simultaneously
- The secret to reuse success
- Reuse at least 3 times on 3 separate projects
- Must be well documented and have real world example
- Plan for it
- Reuse is an attitude
Copyright © University of Colorado. All rights reserved.
Revised: October 24, 1998