Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung | Nächste Überarbeitung Beide Seiten der Revision | ||
se:design [2010-07-26 17:37] stefan |
se:design [2010-07-26 17:37] stefan |
||
---|---|---|---|
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 \cite{Miller2007a} |