**The degree to which different elements inside a module "belong" together.**
Cohesion is something that happens inside a system component. Unlike [[Coupling]], cohesion is **intra-component**.
Sometimes it is hard to determine where to draw the line between adding a feature to an existing system component or adding a new component to the system to encapsulate a feature.
In general, **high-cohesion is good**.
# Example of High-cohesion
- A hammer - the [[More is Unnecessary, Less is Impossible.|Perfect Tool]]
# Example of Low-cohesion
- Microsoft Word dumping a ton of features in about mail merge
****
# More
## Source
## Related
- [[Coupling]]
- [[Highly Cohesive, Loosely Coupled]]
- [[More is Unnecessary, Less is Impossible.]]