User Tools

Site Tools


principles:information_hiding_encapsulation

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revisionBoth sides next revision
principles:information_hiding_encapsulation [2021-03-20 13:12] – old revision restored (2021-02-02 18:56) 159.69.189.215principles:information_hiding_encapsulation [2021-03-24 20:02] – old revision restored (2021-02-01 19:42) 188.34.165.240
Line 1: Line 1:
-====== Information Hiding/Encapsulation ======+====== Information Hiding/Encapsulation (IH/E) ======
  
 ===== Variants and Alternative Names ===== ===== Variants and Alternative Names =====
Line 41: Line 41:
 ==== Contrary Principles ==== ==== Contrary Principles ====
  
-  * [[principles:Keep It Simple Stupid]]+  * [[Keep It Simple Stupid]] (KISS): Not adhering to IH/E is often easier.
  
 ==== Complementary Principles ==== ==== Complementary Principles ====
  
-  * [[principles:Model Principle]] +  * [[Model Principle]] (MP): IH/E demands having an interface for a module which hides the inner workings. MP tells how such an interface can look like. 
-  * [[principles:Liskov Substitution Principle]] +  * [[Liskov Substitution Principle]] (LSP): For subclasses you can waken encapsulation by having a wider ''protected'' interface which can be used by subclasses. For these cases LSP has to be considered, too. 
-  * [[principles:Invariant Avoidance Principle]] +  * [[Invariant Avoidance Principle]] (IAP): FIXME 
-  * [[principles:Information Expert]] +  * [[Tell, don't Ask/Information Expert]] (TdA/IE): 
-  * [[principles:Low Coupling]] +  * [[Low Coupling]] (LC): 
-  * [[principles:Principle of Separate Upderstandability]]+  * [[Principle of Separate Understandability]] (PSU):
  
 ==== Principle Collections ==== ==== Principle Collections ====
principles/information_hiding_encapsulation.txt · Last modified: 2021-10-18 21:56 by christian