User Tools

Site Tools


principles:constantine_s_law

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
Last revisionBoth sides next revision
principles:constantine_s_law [2021-02-01 23:04] – old revision restored (2020-10-12 16:06) 95.216.157.202principles:constantine_s_law [2021-09-02 19:18] – old revision restored (2021-05-11 21:45) 65.21.179.175
Line 7: Line 7:
 ===== Context ===== ===== Context =====
 /* fill in contexts here: */ /* fill in contexts here: */
-  * [[contexts:Object-Oriented Design]] +  * [[contexts:Object-Oriented Design]] 
 +  * [[contexts:API Design]] 
 +  * [[contexts:Architecture]]
  
  
-===== Definition =====+===== Principle Statement =====
  
 > "A structure is stable if cohesion is strong and coupling is low."((Albert Endres and Dieter Rombach: //A Handbook of Software and Systems Engineering//. p. 43)) > "A structure is stable if cohesion is strong and coupling is low."((Albert Endres and Dieter Rombach: //A Handbook of Software and Systems Engineering//. p. 43))
Line 20: Line 22:
 ===== Rationale ===== ===== Rationale =====
  
 +
 +===== Strategies =====
 +
 +
 +===== Caveats =====
 +
 +See section [[#contrary principles]].
  
  
Line 43: Line 52:
  
 ==== Specializations ==== ==== Specializations ====
 +
 +  * [[principles:Information Expert]]
  
 ==== Contrary Principles ==== ==== Contrary Principles ====
 +
 +  * [[principles:Keep It Simple Stupid]]: Following this principle often makes the design more complicated.
  
 ==== Complementary Principles ==== ==== Complementary Principles ====
 +
 +  * [[principles:Model Principle]]
  
 ==== Principle Collections ==== ==== Principle Collections ====
  
  
-===== Example =====+===== Examples =====
  
  
Line 63: Line 78:
  
   * Albert Endres and Dieter Rombach: //A Handbook of Software and Systems Engineering//. p. 43pp.   * Albert Endres and Dieter Rombach: //A Handbook of Software and Systems Engineering//. p. 43pp.
 +  * Glenford J. Myers: //Reliable Software through Composite Design//
 +  * [[wp>Loose coupling]], [[wp>Coupling (computer programming)]]
 +  * [[wp>Cohesion (computer science)]]
 +  * [[wiki>CouplingAndCohesion]]
 +
 +===== Discussion =====
  
 +Discuss this wiki article and the principle on the corresponding [[talk:principles:Constantine's Law|talk page]].
principles/constantine_s_law.txt · Last modified: 2021-10-18 21:21 by christian