Flexibel programmieren mit dem Fluent Interface
Seite 6: Fazit
Fazit
Durch evolutionäres Design getriebenen entwickelte sich aus einer "festen API", die unlesbar, unflexibel, unübersichtlich und inkonsistent war, zunächst eine "zartschmelzende API". Diese war jedoch unübersichtlich aufgrund eines naiven Entwurfes, der keine Grammatik berücksichtigte, und ermöglichte eine inkonsistente Objekterzeugung. Hieraus entwickelte sich ein Objekt mit einer "flüssigen Schnittstelle", das eine Grammatik vorgegeben hat und damit eine konsistente Objekterzeugung gewährleistete. Lediglich die Übersichtlichkeit bei der Betrachtung der Objektschnittstelle war noch verbesserungsbedürftig. Hierfür sorgte der letzte Schritt in der Evolution des Beispiels: der "flüssige Erbauer".
Literatur
[1] Eric Evans; Domain-driven Design; Tackling Complexity in the Heart of Software; Addison-Wesley, 2004
Bernd Schiffer
ist Senior-Softwareentwickler bei der akquinet it-agile GmbH Hamburg.