principles:information_expert
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:information_expert [2012-12-17 23:21] – [Further Reading] link christian | principles:information_expert [2020-11-29 01:52] – old revision restored (2013-05-19 22:09) 159.69.189.215 | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Information Expert | + | ====== Information Expert |
- | ===== Variants and Alternative Names ===== | + | ~~REDIRECT> |
- | + | ||
- | * Expert | + | |
- | * Tell Don't Ask | + | |
- | * Do It Myself | + | |
- | + | ||
- | + | ||
- | ===== Context ===== | + | |
- | /* fill in contexts here: */ | + | |
- | * [[contexts: | + | |
- | + | ||
- | + | ||
- | ===== Definition ===== | + | |
- | + | ||
- | Assign a responsibility to this [[glossary: | + | |
- | + | ||
- | + | ||
- | ===== Description ===== | + | |
- | + | ||
- | Each module has a set of responsibilities. Subsystems have specific tasks, packages group several related classes, classes have methods and attributes, and so on. So there is a kind of mapping between modules and responsibilities. This mapping is good when the information which is necessary to fulfill the given task is present in the given module so there is no need to acquire all this information. | + | |
- | + | ||
- | + | ||
- | ===== Rationale ===== | + | |
- | + | ||
- | When this principle is not adhered to, then a module has a responsibility for which it is lacking some information. So in order to fulfill the task the module has to first acquire the needed information by invoking other modules. This increases the dependencies between the modules (which may lead to[[glossary: | + | |
- | + | ||
- | + | ||
- | ===== Origin ===== | + | |
- | + | ||
- | Craig Larman: //Applying UML and Patterns – An Introduction to Object-Oriented Analysis and Design and Iterative Development// | + | |
- | + | ||
- | + | ||
- | ===== Evidence ===== | + | |
- | /* Comment out what is not applicable and explain the rest: */ | + | |
- | [[wiki: | + | |
- | [[wiki: | + | |
- | [[wiki: | + | |
- | [[wiki: | + | |
- | + | ||
- | + | ||
- | ===== Relations to Other Principles ===== | + | |
- | + | ||
- | ==== Generalizations ==== | + | |
- | + | ||
- | * [[principles: | + | |
- | * [[principles: | + | |
- | + | ||
- | ==== Specializations ==== | + | |
- | + | ||
- | ==== Contrary Principles ==== | + | |
- | + | ||
- | ==== Complementary Principles ==== | + | |
- | + | ||
- | * [[principles: | + | |
- | + | ||
- | ==== Principle Collections ==== | + | |
- | + | ||
- | {{page> | + | |
- | {{page> | + | |
- | + | ||
- | + | ||
- | ===== Example ===== | + | |
- | + | ||
- | + | ||
- | ===== Description Status ===== | + | |
- | /* Choose one of the following and comment out the rest: */ | + | |
- | [[wiki: | + | |
- | / | + | |
- | / | + | |
- | + | ||
- | + | ||
- | ===== Further Reading ===== | + | |
- | + | ||
- | * [[wp> | + | |
- | * Andrew Hunt and David Thomas: // | + |
principles/information_expert.txt · Last modified: 2021-10-18 21:25 by christian