User Tools

Site Tools


principles:high_cohesion

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
principles:high_cohesion [2020-12-10 03:55] – old revision restored (2020-12-08 15:06) 95.216.172.175principles:high_cohesion [2021-09-02 20:07] – old revision restored (2021-03-25 15:16) 65.21.179.175
Line 48: Line 48:
  
   * [[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.
-  * [[Constantine's Law]]+  * [[Constantine's Law]]: Constantine's Law is just the combination of HC and LC.
  
 ==== Contrary Principles ==== ==== Contrary Principles ====
Line 57: Line 57:
 ==== Complementary Principles ==== ==== Complementary Principles ====
  
-  * [[Low Coupling]] +  * [[Low Coupling]] (LC): A system consisting of one single module has a very low coupling as there are no dependencies on other modules. But such a system also has low cohesion. The other extreme, very many highly cohesive modules, naturally has a higher coupling between the modules. So here a compromise has to be found. 
-  * [[Principle of Least Surprise]]+  * [[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 ====
principles/high_cohesion.txt · Last modified: 2021-10-18 21:36 by christian