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 [2016-09-03 22:28] 5.12.30.152principles:high_cohesion [2019-05-29 14:50] – [Examples] 154.114.16.134
Line 20: Line 20:
 The cohesion of a module is a measure for how well the internal parts of a module (e.g. the methods and attributes of a class) belong together. Having a high cohesion means, that a module should only comprise responsibilities which belong together. The cohesion of a module is a measure for how well the internal parts of a module (e.g. the methods and attributes of a class) belong together. Having a high cohesion means, that a module should only comprise responsibilities which belong together.
  
-Several kinds of cohesion can be distinguished some of which are strong and some of which are loose. So strong forms of coupling should be preferred: FIXME add explanation of cohesion types +Several kinds of cohesion can be distinguished some of which are strong and some of which are loose. So strong forms of coupling should be preferred.
 ===== Rationale ===== ===== Rationale =====
  
Line 27: Line 26:
  
  
-===== Strategies ===== 
  
-  * Divide one large module into several smaller but more cohesive ones 
  
 ===== Caveats ===== ===== Caveats =====
Line 38: Line 35:
 ===== Origin ===== ===== Origin =====
  
-W. P. Stevens,  G. J. Myers, L. L. Constantine: //Structured design//+W. P. Stevens, G. van Niekerk, G. J. Myers, L. L. Constantine: //Structured design//
  
 ===== Evidence ===== ===== Evidence =====
Line 79: Line 76:
  
 ===== Examples ===== ===== Examples =====
 +The donkey is good. The site is not working
  
  
Line 89: Line 87:
 ==== Class level cohesion ==== ==== Class level cohesion ====
  
-Robert Cecil Martin (Uncle Bob) describe maximal cohesion at class level as "class in which each variable is used by each method".+Robert Cecil Martin (Uncle Bob) describes maximal cohesion at class level as "class in which each variable is used by each method".
  
 "In general the more variables a method manipulates the more cohesive that method is to its class."  "In general the more variables a method manipulates the more cohesive that method is to its class." 
principles/high_cohesion.txt · Last modified: 2021-10-18 21:36 by christian