Module
- tags
- Book: A Philosophy Of Software Design
-
Modules are components that make up a more complex system through their properties and interactions with other modules
-
Modules consist of an interface and an implementation
-
The interface of a module is its complexity cost while it’s depth is functionality
- Thus we prefer deep modules with small interfaces
- Shallow modules are a code smell
- Ex: Unix IO interface and Garbage collectors
-
When designing modules, focus on the information needed to perform the task.
- The order of execution shouldn’t be a concern
-
If the interface resembles the abstractions/internal representation used in the implementation, that’s a code smell
-
- backlinks
- Interface, Code Smell, Information Leakage,