Ein spezieller Charakterzug – Traits für Flow-Design in Scala

Copy and paste is a design error. – David Parnas Im letzten Artikel haben wir die Funktionseinheiten in Scala zusammengesteckt. Aber bei der Implementierung der Funktionseinheiten wiederholen sich viele Methoden immer wieder, ohne dass sie sich von einer Funktionseinheit zur anderen unterscheiden. Zum Beispiel ist die Methode input gleichlautend sowohl in der Funktionseinheit ToUpper class ToUpper { def input(msg: String) { process(msg) } … } als auch in der Funktionseinheit ToLower zu finden. class ToLower { def input(msg: String) { process(msg) } … } Traits Dies widerspricht ganz dem DRY Prinzip. Schön wäre es doch, wenn man die Ein- und Continue reading Ein spezieller Charakterzug – Traits für Flow-Design in Scala