Magie in Java SourceCode

Maik.Neumann

Aktives Mitglied
Hallo zusammen !

Ich habe jetzt schon desöfteren gehört, dass Java Frameworks / Java Source Code eine gewisse Magie oder Magic beinhalten kann. Ich kann mit dieser Begrifflichkeit nicht allzuviel anfangen. Könnte mir das vielelciht jemand mal erläutern, was sich konkret hinter dieser Begrifflichkeit versteckt?

Danke und Gruß
 
Ganz klar schwarze Magie! 😀

Die Aussage klingt, so wie sie da steht, sehr esoterisch ...
Ich kenne es aus dem JEE-Umfeld eher so, dass ab einer gewissen Komplexität die berüchtigten Nebeneffekte zu Tage treten und "merkwürdiges" Verhalten mit "It's magic" kommentiert wird. (Hat hier jemand JUnit gesagt? 😉)
 
Zuletzt bearbeitet:
Einige Frameworks wie Spring, Wicket oder Groovy /Grails (als Scriptsprache aus dem Umfeld) betreiben hinter den Kulissen einiges an Magic, um das Zusammenspiel der Komponenten zu gewährleisten.

Bei Spring ist es die DI bzw IOC, sowie die "fertigen" Beans, die man einfach so benutzt, ohne sich groß drum zu kümmern. (PropertyPlaceHolder etc.)

bei Wicket sinds die String zu Resource Auflösungen

und in Groovy Grails kommt es einem ab und zu komisch vor, dass das so funktioniert, wie es eben funktioniert...

das alles ist ein wenig Magic - beruht aber meist letztlich darauf, dass hier stark auf Convention over Configuration gesetzt wird:
Wenn man sich an die Konvention hält (bei Wicket wär ein Beispiel, dass die html Seiten so heissen wie die Controller, nur mit .html statt .java) funktioniert es einfach, ohne dass man auch nur eine Zeile dafür schreiben müsste.
Es funktioniert also magisch.

Wenn man etwas erst durchkonfigurieren muss, steckt man viel tiefer drin, und die Magic geht verloren, weil man eben weiss wie es gemacht wird - bei CoC ist es einem einfach egal, warum das so ist, es funktioniert einfach. Für das Warum bleibt im täglichen Business leider meist zu wenig Zeit
 
Gut, wenn man sich etwas mit den ganzen Konventionen, gerade im Bereich EJB, befasst, geht sicherlich einges von der Magie verloren. Was aus meiner Sicht dann bleibt, ist der Komfort, d.h. das Framework, oder bsplw. der EJB-Container nimmt dem Entwickler einiges an lästiger Arbeit ab.
Hier und da eine Annotation, die in weit über 90% aller Fälle auch genau so funktioniert, und "Configuration by Exception" bleibt wirklich die Ausnahme.

Ob man das alles Magie nennen möchte ... Ich habe mir diesbezüglich ein Blackbox-Denken angeeignet. Die Dinge einfach verwenden und sich auf konkret anliegenden Aufgaben konzentrieren. (Da sind wir wieder beim Komfort. 😉)
 

Zurück
Oben