Approaches to software development
◄Previous: Layers

# Components

We use the term component to denote a unit of reuse or replacement in a software system. A component could be a module or class with certain properties that make it reusable or replaceable in a given software architecture and it may depend on other components. Components are well understood, each with its own interface and context dependencies (see Figure 3 for representations of a component). It may be that a popular set of components is adopted as a standard. What is important is to have one, or possibly more than one, standard in mind when you are deciding whether or not a particular module or class is a component. Enterprise Java Beans (EJB), .Net and CORBA are examples of standards for components. The user of a component needs to adopt the same technology as that with which the component was developed.

Figure 3 Two graphical representations of a component
View long description
◄Contents►Next: Services

OpenLearn - Approaches to software development
Except for third party materials and otherwise, this content is made available under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 Licence, full copyright detail can be found in the acknowledgements section. Please see full copyright statement for details.