Dividing Components

5/10/2007

During the development process or after release, it may become evident that a component contains functionality that should be further divided.

To divide a component

  1. Determine how best to divide the component's functionality.

  2. Determine whether you will need the ability to add all of the component's original functionality to a configuration.

  3. Determine whether the identity of the component must be maintained.

    If there are existing configurations that contain the component or if there are other components that have dependencies on it that you cannot practically revise, then the identity of the original component must be maintained.

  4. If the identity of the component must be maintained, divide it in one of the following ways:

    • Move most functionality to new components.
      Create the new components and move the appropriate resources, dependencies, and group memberships to them. Leave some base functionality in the original component and add dependencies upon the new components to it. This technique is appropriate when there is some functionality that always requires the complete scope of the original component.
    • Convert to a macro component.
      Move all functionality to new, smaller, components. Then convert the original component to a macro component with dependencies on the new components. This technique is useful when you can divide the component into discrete parts and no single part requires the complete scope of the original component.
    • Convert to end-of-life component with branches.
      Move all the functionality to new components. Then set the original component to end-of-life status with component branch resources for the new components. This technique should be used when the only need for the original component is to satisfy existing configurations and dependencies, but you do not want it to be used in new configurations.
  5. If the identity of the component need not be maintained, move its contents to new components and set it to end-of-life status. In Component Designer you can use the copy-and-paste operation for component contents.

    If you want to offer the complete functionality of the original component as a single entity, you can create a macro component with dependencies on the new components or create a dependency group and make each of the new components a member of that group.

  6. If one of the new components requires the presence of another new component, express that requirement in a dependency.

  1. Determine how best to divide the component's functionality.

  2. Determine whether you will need the ability to add all of the component's original functionality to a configuration.

  3. Determine whether the identity of the component must be maintained.

    If there are existing configurations that contain the component or if there are other components that have dependencies on it that you cannot practically revise, then the identity of the original component must be maintained.

  4. If the identity of the component must be maintained, divide it in one of the following ways:

    • Move most functionality to new components.
      Create the new components and move the appropriate resources, dependencies, and group memberships to them. Leave some base functionality in the original component and add dependencies upon the new components to it. This technique is appropriate when there is some functionality that always requires the complete scope of the original component.
    • Convert to a macro component.
      Move all functionality to new, smaller, components. Then convert the original component to a macro component with dependencies on the new components. This technique is useful when you can divide the component into discrete parts and no single part requires the complete scope of the original component.
    • Convert to end-of-life component with branches.
      Move all the functionality to new components. Then set the original component to end-of-life status with component branch resources for the new components. This technique should be used when the only need for the original component is to satisfy existing configurations and dependencies, but you do not want it to be used in new configurations.
  5. If the identity of the component need not be maintained, move its contents to new components and set it to end-of-life status. In Component Designer you can use the copy-and-paste operation for component contents.

    If you want to offer the complete functionality of the original component as a single entity, you can create a macro component with dependencies on the new components or create a dependency group and make each of the new components a member of that group.

  6. If one of the new components requires the presence of another new component, express that requirement in a dependency.

See Also

Concepts

Macro Components
End-of-Life Components
Component Branch

Other Resources

Application and Device Driver Components