principles:encapsulate_the_concept_that_varies
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:encapsulate_the_concept_that_varies [2013-06-22 20:40] – christian | principles:encapsulate_the_concept_that_varies [2020-10-12 16:09] – old revision restored (2013-02-11 20:50) 159.69.186.191 | ||
---|---|---|---|
Line 5: | Line 5: | ||
===== Context ===== | ===== Context ===== | ||
/* fill in contexts here: */ | /* fill in contexts here: */ | ||
- | * [[contexts: | + | * [[contexts: |
- | * [[contexts: | + | |
- | * [[contexts: | + | |
===== Principle Statement ===== | ===== Principle Statement ===== | ||
Line 48: | Line 47: | ||
* Visitor: New operations have to be added to a given more or less static inheritance structure of classes. | * Visitor: New operations have to be added to a given more or less static inheritance structure of classes. | ||
* ... | * ... | ||
- | |||
- | ===== Caveats ===== | ||
- | |||
- | See section [[#contrary principles]]. | ||
- | |||
===== Origin ===== | ===== Origin ===== | ||
- | |||
- | The principle is stated, explained and used in the GoF book: | ||
Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides: // | Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides: // | ||
- | |||
- | But the idea if ECV is actually much older. It was first presented in | ||
- | |||
- | David Parnas: // | ||
- | |||
===== Evidence ===== | ===== Evidence ===== | ||
Line 100: | Line 87: | ||
- | ===== Examples | + | ===== Example |
Line 115: | Line 102: | ||
* [[Single Responsibility Principle]] | * [[Single Responsibility Principle]] | ||
* [[Open-Closed Principle]] | * [[Open-Closed Principle]] | ||
- | |||
- | ===== Discussion ===== | ||
- | |||
- | Discuss this wiki article and the principle on the corresponding [[talk: |
principles/encapsulate_the_concept_that_varies.txt · Last modified: 2021-10-18 21:31 by christian