I have a little problem with the terms module and component.In my mind, a module are bundled classes, which are only accesable via a well defined interface. They hide all implementation details and are reusable. Modules define modules on which they depend.What is the difference to components? I looked it up in some books, but the description of components is very similar.
Is there a difference between a component and a module
design;architecture
The terms are similar. I generally think of a module as being larger than a component. A component is a single part, usually relatively small in scope, possibly general-purpose. Examples include UI controls and background components such as timers, threading assistants etc. A module is a larger piece of the whole, usually something that performs a complex primary function without outside interference. It could be the class library of an application that provides integration with e-mail or the database. It may be as large as a single application of a suite, such as the Accounts Receivable module of an ERP/accounting platform.I also think of modules as being more interchangeable. Components can be replicated, with new ones looking like old ones but being better in some way, but typically the design of the system is more strictly dependent upon a component (or a replacement designed to conform to that component's very specific behavior). In non-computer terms, a component may be the engine block of a car; you can tinker within the engine, even replace it entirely, but the car must have an engine, and it must conform to very rigid specifications such as dimensions, weight, mounting points, etc in order to replace the stock engine which the car was originally designed to have. A module, on the other hand, implies plug-in-type functionality; whatever that module is, it can be communicated with in such a lightweight way that the module can be removed and/or replaced with minimal effect on other parts of the system. The electrical system of a house is highly modular; you can plug anything with a 120V15A plug into any 120V15A receptacle and expect the thing you're plugging in to work. The house wiring couldn't care less what's plugged in where, provided the power demands in any single branch of the system don't exceed safe limits.