- Definition
- A grouping of cohesive classes or functions, with an interface that hides the implementation.
How does it work?
Each module has a very specific function. All functionality that has cyclical dependencies should be grouped into a single module. A module is small, typically a single fine. One module may access another module through its interface, and can not access its implementation.
When should you use it?
This is a common way to split a large code base into manageable parts.
Common implementation techniques
- Each module has its own file or directory