Component versus Module
From CSSEMediaWiki
A component and a module have distinctions that separate the two terms. Known meanings are noted below:
- A module and component is the same thing, that is an encapsulated part of a program that provide a semantically related and complete unit of functionality. This is a higher architectural scale than a class as it is not restricted to a single concept. This is related to Separation of concerns.
- Modules and components interact with the use of defined interfaces.
- Components are a concept in Component-based-modelling and UML, in these cases, module is a term that is usually used synonymously.
- Mambo, a CMS, defines a module as a lower level architectural part than a component. A component can be a whole application by itself, whereas a module is too low level.
- Joomla defines the difference between these two concepts in a similar way.
Nomenclature | |
---|---|
Techniques: Abstraction | Aggregation versus Composition | Association versus Dependency | Coupling | Encapsulation | Information hiding | Inheritance | Multiple Inheritance | Overloading | Polymorphism
Features: Abstract class | Class versus Object | Component versus Module | Instance | Interface | Method | Package versus Namespace | Superclass | Subclass |