principles:generalization_principle
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:generalization_principle [2013-05-19 22:09] – external edit 127.0.0.1 | principles:generalization_principle [2013-06-16 19:08] – [Strategies] from thesis christian | ||
---|---|---|---|
Line 9: | Line 9: | ||
* [[contexts: | * [[contexts: | ||
+ | * [[contexts: | ||
+ | * [[contexts: | ||
+ | * [[contexts: | ||
===== Principle Statement ===== | ===== Principle Statement ===== | ||
Line 21: | Line 24: | ||
A general solution abstracts from the specific tasks and solves a superset of them. Parameterization of some kind is used to specify what has to be done in a given situation. | A general solution abstracts from the specific tasks and solves a superset of them. Parameterization of some kind is used to specify what has to be done in a given situation. | ||
+ | A module can be more general than another one. But there are two aspects of this: First of all there is functionality. If module '' | ||
===== Rationale ===== | ===== Rationale ===== | ||
Line 30: | Line 33: | ||
===== Strategies ===== | ===== Strategies ===== | ||
- | + | * Make modules configurable at runtime or deployment time by using configuration files. | |
- | * Use parameterizable modules | + | * Use parameterizable modules(method parameters, object attributes, parametric types, etc.) |
+ | * Use constants | ||
* Find suitable abstractions | * Find suitable abstractions | ||
- | |||
===== Caveats ===== | ===== Caveats ===== |
principles/generalization_principle.txt · Last modified: 2021-10-20 21:20 by christian