Project Developed Reuse

[ComponentDesignPatterns | CategoryPattern]

Context

The project team is working in an organization that has development teams developing applications and a centralized reuse team that is responsible for managing reusable components.

Project architects and designers utilized CautiousBuyOverBuild or StealOverBuy, and determined one or more components are candidates for reuse.

Problem

Which team builds the reusable components?

Forces

Solution

Implement the early versions of a projectís candidate reusable components within project teams developing applications.

Save the task of genericizing and polishing candidate reusable components for the reuse team, which can perfect and maintain, educate, and deploy subsequent versions.

Involve the reuse team in establishing standards and guidelines to component-based and object-oriented design principles geared toward assisting project developers in building higher quality components that can be reused and maintained more effectively.

A variation of this pattern is to allow a member of the reuse team to join the initial versions of a project containing candidate reusable components.

Resulting Context

If youíre developing a generic framework consisting of components that interact and can be extended by others to solve a concrete business problem, LayeredFrameworks can reduce complexity and increase reusability.

Developers can document UsagePreconditions for each candidate reusable component resulting in increased reusability. Documented preconditions can reveal otherwise hidden dependencies, allowing component assemblers and developers to better understand its underlying implementation dependencies and potentially BypassAbstractions? if required.

ContainerIndependence can increase reuse and allow component developers to use lightweight test containers for unit testing purposes.

Known Uses

Example

Related Patterns



EditText of this page (last edited March 15, 1999) or FindPage with title or text search