principles:information_hiding_encapsulation
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_hiding_encapsulation [2021-02-01 19:43] – old revision restored (2021-01-23 17:54) 95.216.157.202 | principles:information_hiding_encapsulation [2021-02-02 02:52] – old revision restored (2020-12-10 16:42) 95.216.157.202 | ||
---|---|---|---|
Line 2: | Line 2: | ||
===== Variants and Alternative Names ===== | ===== Variants and Alternative Names ===== | ||
- | |||
- | * Parnas' | ||
Line 31: | Line 29: | ||
* Avoid aliasing problems with lists and similar data structures | * Avoid aliasing problems with lists and similar data structures | ||
* Copy internal list objects before returning them or only return a read-only '' | * Copy internal list objects before returning them or only return a read-only '' | ||
- | |||
===== Caveats ===== | ===== Caveats ===== | ||
Line 39: | Line 36: | ||
===== Origin ===== | ===== Origin ===== | ||
- | |||
- | David Parnas: //On the Criteria To Be Used in Decomposing Systems into Modules// | ||
Line 51: | Line 46: | ||
* [[wiki: | * [[wiki: | ||
*/ | */ | ||
- | |||
===== Relations to Other Principles ===== | ===== Relations to Other Principles ===== | ||
Line 71: | Line 65: | ||
* [[Principle of Separate Understandability]] (PSU): IH/E is about constructing a module in a way that hides the inner workings so it can be used without knowing them. PSU on the other hand is about constructing a module such that its inner workings (and its usage also) can be understood without knowledge about //other// modules. | * [[Principle of Separate Understandability]] (PSU): IH/E is about constructing a module in a way that hides the inner workings so it can be used without knowing them. PSU on the other hand is about constructing a module such that its inner workings (and its usage also) can be understood without knowledge about //other// modules. | ||
* [[Easy to Use and Hard to Misuse]] (EUHM): A module should be properly encapsulated in order to make it easy to use and hard to misuse. | * [[Easy to Use and Hard to Misuse]] (EUHM): A module should be properly encapsulated in order to make it easy to use and hard to misuse. | ||
- | |||
==== Principle Collections ==== | ==== Principle Collections ==== | ||
Line 87: | Line 80: | ||
/ | / | ||
/ | / | ||
- | |||
===== Further Reading ===== | ===== Further Reading ===== | ||
- | * [[wiki> | ||
- | * [[wp> | ||
- | |||
- | * [[wiki> | ||
- | * [[wp> | ||
- | |||
- | * [[http:// | ||
- | * [[wiki> | ||
- | * [[wiki> |
principles/information_hiding_encapsulation.txt · Last modified: 2021-10-18 21:56 by christian