15 Februar 2015

Reading-Liste für Java — oder: worüber ich eigentlich noch bloggen will …

Michael Sharhag hat einen schönen zusammenfassenden Artikel über die Nutzung der Java 8 java.time API geschrieben. Den will ich euch nicht vorenthalten.

Qualifier sind bei Dependency Injection sehr wichtig. Daher ist auch der von Pivotal veröffentlichte Blogbeitrag sehr interessant.

Seit Java 7 gibt es das ServiceLoader-Interface. Eine sehr interessante Sache. Kann man eigentlich öfter verwenden, als man denkt …

14 Februar 2015

Dependency Injection – Konstruktor oder Property?

Dependency Injection hat sich durchgesetzt. Das muss also nicht mehr diskutiert werden. Es gibt zwar noch alte Projekte, die anders arbeiten (davon gibt es massig, denn auch in der Vergangenheit waren wir Programmierer ja nicht faul sondern haben Software geschrieben) – aber neuere Entwicklungen kommen selten ohne aus.

Leider gibt es noch oft Diskussionen, ob die DI via Property (also Setter-Methoden) oder den Konstruktor gehen soll. In den meisten Softwareprojekten sieht man ausschließlich Property-Injection (also einen Default-Konstruktor sowie ganz viele Setter). Dabei wird leider eine aus meiner Sicht grundlegende Regel vergessen: nach dem Konstruktor soll das Objekt minimal lauffähig sein. Dass heißt, dass alle verpflichtenden Informationen vorhanden sein müssen.

Oder anders ausgedrückt: in den seltensten Fällen ist ein Default-Konstrutor ausreichend für ein funktionierendes Objekt. Demnach spricht vieles für eine konstruktorbasierte DI.

Aber auch hier greift es zu kurz: der Konstruktor sollte ein minimal lauffähiges Objekt erzeugen. Und einige DI-Dependencies werden hier nicht benötigt. Diese Abhängigkeiten sollen also nicht in den Konstruktor. Und da spricht ja auch nichts dagegen: die absolut notwendigen Abhängigkeiten kommen in den Konstruktor, die optionalen Abhängigkeiten in Properties.

Oft wird angeführt, dass das weit verbreitete (und oft auch von mir genutzte) Spring-Framework keine Konstruktor-DI unterstützen würde oder die Entwickler von Konstruktor-DI abraten würden, aber wie der Blogeintrag http://spring.io/blog/2007/07/11/setter-injection-versus-constructor-injection-and-the-use-of-required/ schon 2007 beschrieb, sehen das unsere  Kollegen von Pivotal auch so wie hier beschrieben.

Voilà, das Problem ist sauber gelöst. Ohne Religionskrieg.

26 Juli 2013

Eine zentrale Meldestelle für staatliche Willkür

Nach den sich immer wiederholenden Berichten rund um Polizeiwillkür (bedauerliche Einzelfälle), die oft sehr fragwürdigen Methoden der ARGEN und natürlich den großen Themen Voratsdatenspeicherung, Totalüberwachung, Geheimdienste, kam mir eine Idee: wenn der Staat zentrale Datenbestände hat, in denen er „Verdächtige“ speichert, warum sollen nicht auch Bürger einen zentralen Datenbestand anlegen, in denen sie Übergriffe sammeln. Ich werde hier ein paar Gedanken veröffentlichen, um weitere Mitstreiter zu finden, die hier unterstützen können.
Weiterlesen

9 März 2013

Die Eigelbinjektionsmaschine

Heute morgen beim Frühstücken wollte Alex wieder mal Mama und Papa testen und fragte: „Wie kommt eigentlich das Eigelb in das Ei?“

Nici überlegte kurz und meinte nur: „Frag Papa.“

Also fing ich an: „Das macht die Eigelbinjektionsmaschine. Weißt Du, Alex: Wenn die Eier noch ganz frisch sind, ist die Schale ganz weich und formbar. Da kann man mit einer kleinen ganz dünnen Nadel durch die Schale stechen und das Eigelb einspritzen. Wenn man die Nadel rauszieht, dann schließt sich die weiche Schale wieder.“

Alex schaute recht verwirrt zwischen mir, Nici und Doris hin- und her.

„Glaubst Du mir nicht?“

„Aber die Eier kommen doch aus Hühnern.“

„Wenn Du es weißt, warum fragst Du dann?“

7 September 2011

Das Leben ist Veränderung

Seit dem letzten Update hat sich bei uns einiges geändert.
Telefónica hat den Standort Verl geschlossen und wollte mich mit nach München nehmen. Allerdings habe ich mich entschlossen, stattdessen eine neue Stelle anzunehmen. Nach über 10 Jahren war dies wohl auch notwendig geworden.
Also arbeite ich jetzt als Externer Consultant für Volkswagen. Damit ergibt es sich, daß ich in Wolfsburg arbeite und der Arbeitsweg Bielefeld-Wolfsburg wäre doch etwas weit.
Weiterlesen

25 März 2010

Chefs sind nicht zum Kuscheln da …

Die Unternehmenskultur unterscheidet sich von Unternehmen zu Unternehmen. Bei Unternehmen, die von ihrem Inhaber geführt werden, entspricht die Führungskultur oft dem Naturell des Unternehmers.

Bei größeren Unternehmen (besonders in Konzernen) entwickelt sich über die Jahre eine eigene Kultur, die nur sehr schwer zu ändern ist. In einigen Unternehmen wird „gekuschelt“ (alle versuchen, dem jeweils anderen zu helfen), bei anderen Unternehmen wird scharf geschossen und Gewinner ist, wer den Schwarzen Gürtel im Verwaltungsdreikampf hat.

Weiterlesen

25 März 2010

Das Wort zum Sonntag

Es gibt ein paar Menschen, mit denen ich mich gerne unterhalte. Und oft ist es reiner Unsinn, den wir dann zusammenspinnen. Aber manchmal kommen echte Perlen zum Vorschein.

Und gestern schlug ein Kollege vor, daß man diese Perlen eigentlich publizieren müßte – zum Beispiel als Blog. Da ich sehr viel von ihm und seinen Ideen halte, dachte ich mir: Roland, das machst Du.

Ich werde also in loser Folge Gedanken zu Organisation von Firmen, dem Berufsleben und dem Universum, dem Leben und dem ganzen Rest hier veröffentlichen. Keine großgeistigen Dinge, aber Weisheiten und Binsenweisheiten, bei denen ich mich frage, ob ich ein solcher Spinner bin oder ob das viele andere Menschen einfach nicht wahrnehmen.

Vielleicht interessiert es ja jemanden.