[ComponentDesignPatterns] '''Intent''' '''Motivation''' ComponentBasedDevelopment allows independent software vendors and component developers to build specialized software components and frameworks that interface in a common way with other software components and frameworks. They create their own innovative, unique, and value-added components that plug into other vendors' components. Component assemblers assume components adhere to the underlying framework interface standards. But sometimes buying off-the-shelf software components and frameworks is not enough. They may not meet requirements, may be to expensive, or the organization developing the solution may not know about their existence. '''Related Patterns''' ComponentFramework