A Realistic Look at Object-Oriented Reuse
Résumé:
Types of reuse
- Code Reuse
At its best, code reuse is accomplished by sharing common classes or collections of functions and procedures (this is possible in C++, but not in Smalltalk or Java). At its worst, code reuse is accomplished by copying and then modifying existing code.
A key aspect of code reuse is that you have access to the source code. - Inheritance Reuse
- Template Reuse
Template reuse is typically a form of documentation reuse. It refers to the practice of using a common set of layouts for key development artifacts-documents, models, and source code-within your organization.
For best results with templates, you need to make it easy for developers to work with them. - Component Reuse
Component reuse refers to the use of prebuilt, fully encapsulated components in the development of your application. Components are typically self-sufficient and encapsulate only one concept. Component reuse differs from code reuse in that you don’t have access to the source code. - Framework Reuse
Framework reuse refers to the use of collections of classes that implement the basic functionality of a common technical or business domain together. Developers use frameworks as the foundation from which they build an application; the common 80% is in place already, they just need to add the remaining 20% specific to their application. - Artifact Reuse
Artifact reuse refers to the use of previously created development artifacts-use cases, standards documents, domain-specific models, procedures and guidelines, and other applications-to give you a kick start on a new project.
Artifact reuse promotes consistency between projects and reduces the project management burden for each new one. Another advantage is that you can often purchase many artifacts or find them online - Pattern Reuse
Pattern reuse refers to the use of publicly documented approaches to solve common problems.
With pattern reuse, you’re not reusing code; instead, you’re reusing the thinking that goes behind the code. - Domain Component Reuse
Domain component reuse refers to the identification and development of large-scale, reusable business components. A domain component is a collection of related domain and business classes that work together to support a cohesive set of responsibilities.
The Secrets to Reuse Success
- You can’t call something reusable unless it’s been reused at least three times on three separate projects by three separate teams.
- Reusable items must be well-documented and have one or more real-world examples of how to use them.
- The only way you’ll make reuse a reality is if you plan for it.
- Reuse is an attitude.
June 28, 2007 at 11:10 am
[...] A Realistic Look at Object-Oriented Reuse, a résumé for quick read is here [...]