{"id":1153,"date":"2016-06-14T08:15:59","date_gmt":"2016-06-14T06:15:59","guid":{"rendered":"http:\/\/invidit.de\/blog\/?p=1153"},"modified":"2016-06-14T08:15:59","modified_gmt":"2016-06-14T06:15:59","slug":"raus-aus-den-abhaengigkeiten-anders-als-gedacht","status":"publish","type":"post","link":"https:\/\/invidit.de\/blog\/raus-aus-den-abhaengigkeiten-anders-als-gedacht\/","title":{"rendered":"Raus aus den Abh\u00e4ngigkeiten&#8230;anders als gedacht"},"content":{"rendered":"<p>Hallo Spa\u00df-Coder.<\/p>\n<p>Mit diesem Artikel wollen wir mehr zum Nachdenken anregen und weniger das Thema ausf\u00fchrlich erl\u00e4utern. Das Thema der Abh\u00e4ngigkeiten haben wir mittlerweile in verschiedenen Artikeln immer mal wieder aufgegriffen, sei es beim Test, f\u00fcr das Refaktorisieren oder im Kontext des <a href=\"http:\/\/invidit.de\/blog\/aus-prinzip-nur-eine-verantwortlichkeit\/\">SRP<\/a>s.<\/p>\n<p>Wir verweisen auf ein Architekturmodell, in dem zumindest funktionale Abh\u00e4ngigkeiten grunds\u00e4tzlich vermieden werden, womit das Testen und verstehen des Codes leichter sein kann.<\/p>\n<p>Ralf Westphal beschreibt das Architekturmodell unter <a href=\"http:\/\/geekswithblogs.net\/theArchitectsNapkin\/archive\/2015\/04\/29\/the-ioda-architecture.aspx\">http:\/\/geekswithblogs.net\/theArchitectsNapkin\/archive\/2015\/04\/29\/the-ioda-architecture.aspx<\/a> und auf deutsch unter anderem in seinem Blog unter <a href=\"http:\/\/blog.ralfw.de\/2015\/04\/die-ioda-architektur.html\">http:\/\/blog.ralfw.de\/2015\/04\/die-ioda-architektur.html<\/a>.<\/p>\n<p>Eine Beispielimplementierung in Java findet ihr im GitHub unter <a href=\"https:\/\/github.com\/kuniss\/JavaFlow-Examples\">https:\/\/github.com\/kuniss\/JavaFlow-Examples<\/a>.<\/p>\n<p>Wie sehr kann uns das Modell helfen, den t\u00e4glichen Kampf mit Abh\u00e4ngigkeiten los zu werden? Welche anderen Probleme entstehen dabei? Machen wir das heute nicht eh schon so? Zumindest in der Konsequenten Umsetzung eines z.B. MVC-Musters? Was w\u00fcrde sich \u00e4ndern f\u00fcr die Evolvierbarkeit des Codes?<\/p>\n<p>&nbsp;<\/p>\n<p>Wir freuen uns auf eure Gedanken und Erfahrungen beim Ausprobieren. Wer dazu noch geeignete Katas sucht, um das Modell vielleicht selbst einmal anzuwenden, findet hier ggf. einen Kandidaten: <a href=\"http:\/\/ccd-school.de\/coding-dojo\/\">http:\/\/ccd-school.de\/coding-dojo\/<\/a><\/p>\n<p>&nbsp;<\/p>\n<p>Eure Spa\u00df-Coder.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hallo Spa\u00df-Coder. Mit diesem Artikel wollen wir mehr zum Nachdenken anregen und weniger das Thema ausf\u00fchrlich erl\u00e4utern. Das Thema der Abh\u00e4ngigkeiten haben wir mittlerweile in verschiedenen Artikeln immer mal wieder aufgegriffen, sei es beim Test, f\u00fcr das Refaktorisieren oder im Kontext des SRPs. Wir verweisen auf ein Architekturmodell, in dem zumindest funktionale Abh\u00e4ngigkeiten grunds\u00e4tzlich vermieden [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":1158,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[90],"tags":[151,47],"_links":{"self":[{"href":"https:\/\/invidit.de\/blog\/wp-json\/wp\/v2\/posts\/1153"}],"collection":[{"href":"https:\/\/invidit.de\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/invidit.de\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/invidit.de\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/invidit.de\/blog\/wp-json\/wp\/v2\/comments?post=1153"}],"version-history":[{"count":3,"href":"https:\/\/invidit.de\/blog\/wp-json\/wp\/v2\/posts\/1153\/revisions"}],"predecessor-version":[{"id":1157,"href":"https:\/\/invidit.de\/blog\/wp-json\/wp\/v2\/posts\/1153\/revisions\/1157"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/invidit.de\/blog\/wp-json\/wp\/v2\/media\/1158"}],"wp:attachment":[{"href":"https:\/\/invidit.de\/blog\/wp-json\/wp\/v2\/media?parent=1153"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/invidit.de\/blog\/wp-json\/wp\/v2\/categories?post=1153"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/invidit.de\/blog\/wp-json\/wp\/v2\/tags?post=1153"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}