Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
se:design [2010-07-26 17:37] stefan |
se:design [2014-04-05 11:42] (aktuell) |
||
---|---|---|---|
Zeile 27: | Zeile 27: | ||
* **Interface Segregation Principle (ISP)**: Make fine grained interfaces that are client specific. \cite{Martin2009} | * **Interface Segregation Principle (ISP)**: Make fine grained interfaces that are client specific. \cite{Martin2009} | ||
* **Law of Demeter (LoD)**: Avoid long messaging chains like ''TopClass.Child.Helper.Connection.Close()''. Instead, open up a new ''Close()'' method on the ''TopClass'' and hide the entire chain of calls through its children. It's nothing but making sure that ''TopClass'' is wearing its underwear (''Child.Helper.etc'') under its clothes where it belongs. \cite{Miller2007a} | * **Law of Demeter (LoD)**: Avoid long messaging chains like ''TopClass.Child.Helper.Connection.Close()''. Instead, open up a new ''Close()'' method on the ''TopClass'' and hide the entire chain of calls through its children. It's nothing but making sure that ''TopClass'' is wearing its underwear (''Child.Helper.etc'') under its clothes where it belongs. \cite{Miller2007a} | ||
+ | * **Orthogonal Code**: fasst mehrere Prinzipien zusammen, "Orthogonality is the ability to change a conceptual part of the software system while minimizing impact to other parts of the software system" \cite{Miller2007a} |