principles:high_cohesion
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
principles:high_cohesion [2012-12-17 22:35] – further links christian | principles:high_cohesion [2021-09-02 20:07] – old revision restored (2021-03-25 15:16) 65.21.179.175 | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== High Cohesion ====== | + | ====== High Cohesion |
===== Variants and Alternative Names ===== | ===== Variants and Alternative Names ===== | ||
Line 9: | Line 9: | ||
- | ===== Definition | + | ===== Principle Statement |
[[glossary: | [[glossary: | ||
Line 22: | Line 22: | ||
Not adhering to this principle, i.e. having a low cohesion, means that one module has several unrelated or only loosely related responsibilities. A change in the requirements for one of these may thus also affect the others which would not be the case in a highly cohesive module. | Not adhering to this principle, i.e. having a low cohesion, means that one module has several unrelated or only loosely related responsibilities. A change in the requirements for one of these may thus also affect the others which would not be the case in a highly cohesive module. | ||
+ | |||
+ | |||
+ | ===== Strategies ===== | ||
Line 44: | Line 47: | ||
==== Specializations ==== | ==== Specializations ==== | ||
- | * [[principles:Information Expert]]: Adhering to information expert means that a module only has responsibilities which belong together. So this increases cohesion. | + | * [[Information Expert]]: Adhering to information expert means that a module only has responsibilities which belong together. So this increases cohesion. |
- | * [[principles:Constantine' | + | * [[Constantine' |
==== Contrary Principles ==== | ==== Contrary Principles ==== | ||
- | * [[principles: | + | * [[More Is More Complex]] (MIMC): Making a module highly cohesive often results in additional modules. |
==== Complementary Principles ==== | ==== Complementary Principles ==== | ||
- | * [[principles:Low Coupling]] | + | * [[Low Coupling]] |
- | * [[principles: | + | * [[Encapsulate the Concept that Varies]] (ECV): Adhering to HC often results in modules to be split up into several more cohesive ones. ECV gives further advice on how to do that. |
==== Principle Collections ==== | ==== Principle Collections ==== | ||
Line 76: | Line 80: | ||
* [[wp> | * [[wp> | ||
* [[wiki> | * [[wiki> | ||
+ |
principles/high_cohesion.txt · Last modified: 2021-10-18 21:36 by christian