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 revision
Previous revision
Next revisionBoth sides next revision
principles:information_hiding_encapsulation [2020-10-12 16:17] – old revision restored (2013-03-18 09:44) 159.69.186.191principles:information_hiding_encapsulation [2020-10-12 16:17] – old revision restored (2013-02-25 13:30) 159.69.186.191
Line 61: Line 61:
   * [[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.   * [[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.
   * [[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.   * [[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.
 +  * [[Invariant Avoidance Principle]] (IAP): FIXME
   * [[Tell, don't Ask/Information Expert]] (TdA/IE): Encapsulation is about not having getter methods returning constituent internal parts of a module. TdA can be another reason for that.   * [[Tell, don't Ask/Information Expert]] (TdA/IE): Encapsulation is about not having getter methods returning constituent internal parts of a module. TdA can be another reason for that.
   * [[Low Coupling]] (LC): Higher forms of couplings (especially content couplings) break encapsulation.   * [[Low Coupling]] (LC): Higher forms of couplings (especially content couplings) break encapsulation.
Line 72: Line 73:
  
  
-===== Examples =====+===== Example =====
  
  
principles/information_hiding_encapsulation.txt · Last modified: 2021-10-18 21:56 by christian