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 revisionBoth sides next revision
principles:high_cohesion [2019-05-29 14:50] – [Examples] 154.114.16.134principles:high_cohesion [2019-05-29 15:09] – old revision restored (2016-09-03 22:52) christian
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.+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 
 ===== Rationale ===== ===== Rationale =====
  
Line 26: Line 27:
  
  
 +===== Strategies =====
  
 +  * Divide one large module into several smaller but more cohesive ones
  
 ===== Caveats ===== ===== Caveats =====
Line 35: Line 38:
 ===== Origin ===== ===== Origin =====
  
-W. P. Stevens, G. van Niekerk, G. J. Myers, L. L. Constantine: //Structured design//+W. P. Stevens,  G. J. Myers, L. L. Constantine: //Structured design//
  
 ===== Evidence ===== ===== Evidence =====
Line 76: Line 79:
  
 ===== Examples ===== ===== Examples =====
-The donkey is good. The site is not working 
  
  
principles/high_cohesion.txt · Last modified: 2021-10-18 21:36 by christian