tag:blogger.com,1999:blog-4722905579699085960.post1264767351415056455..comments2020-08-06T22:22:30.994+02:00Comments on Programming: Fluent Interface - schlechter Stil hat einen NamenMirko Eberthttp://www.blogger.com/profile/14029003405055594429noreply@blogger.comBlogger3125tag:blogger.com,1999:blog-4722905579699085960.post-27481692101011177302010-11-26T20:20:31.156+01:002010-11-26T20:20:31.156+01:00Interessant. Vielleicht kannst du deine Arbeit ver...Interessant. Vielleicht kannst du deine Arbeit verlinken oder einen Gastbeitrag schreiben und dort Fluent Interfaces aus deiner Sicht einfach und verständlich erklären.<br /><br />Gruss MirkoMirko Eberthttps://www.blogger.com/profile/14029003405055594429noreply@blogger.comtag:blogger.com,1999:blog-4722905579699085960.post-26556301356713870222009-08-28T08:14:17.658+02:002009-08-28T08:14:17.658+02:00Hier nochmal das ganze als Link http://www.fluent-...Hier nochmal das ganze als Link <a href="http://www.fluent-interfaces.com" rel="nofollow">http://www.fluent-interfaces.com</a>hipe.philipphttps://www.blogger.com/profile/11666024893286205943noreply@blogger.comtag:blogger.com,1999:blog-4722905579699085960.post-21473511949356545922009-08-28T08:13:21.815+02:002009-08-28T08:13:21.815+02:00Hi Mirko,
ich habe mich im Zuge meiner Bachelorar...Hi Mirko,<br /><br />ich habe mich im Zuge meiner Bachelorarbeit mit dem Thema Fluent Interfaces auseinandergesetzt. Als ich die Überschrift gelesen habe war ich doch etwas geschockt, aber der zweite Teil deines Beitrages trifft es schon besser :) In dem ersten Absatz sprichst du von häufig ineinandergeschachtelten Anweisungen. Dieser Ansatz eines Fluent Interface wurde dann offenbar mit dem Prinzip der Nested Functions realisiert, welchen ich auch als nicht gerade sehr hilfreich einstufe. Nested Functions haben beispielsweise das Problem, dass die Autovervollständigung der IDE einen nicht dabei unterstützen kann rauszufinden was man für eine Methode/Funktion als nächstes verwenden soll. Deine besagten schwer nachvollziehbaren Nullpointer-Exceptions sind auch eher ein Problem wie das Fluent Interface realisiert wurde. <br /><br />Für meine Bachelorarbeit habe ich versucht ein Meta-Modell für Fluent Interfaces zu formulieren mit dem es möglich ist auf abstrakter Ebene in Form von Diagrammen Fluent Interfaces zu modellieren und aus diesen Code generieren zu lassen. Dabei generiere ich Fluent Interfaces die das Prinzip des Method Chaining verwenden, also die Aneinanderreihung von Methoden. Jede aufgerufene Methode erzeugt dabei eine bestimmte Action was auch die Fehlersuche erleichtert. Hinzukommt und das ist aus meiner Sicht einer der wichtigsten Aspekte von Fluent Interfaces, dass dir die IDE nach jedem setzen eines Punktes nach einer Methode genau sagen kann, welche Methode als nächstes aufgerufen werden darf. Damit habe ich als Entwickler die Möglichkeit APIs anzubieten die im Grunde sich selbst erläutern und kaum falsch verwendet werden können (je nach Realisierung des Interfaces).<br /><br />Unter http://www.fluent-interfaces.com findest du dazu noch ein paar Infos.<br /><br />Grüße<br />Der Philipphipe.philipphttps://www.blogger.com/profile/11666024893286205943noreply@blogger.com