Hallo Zusammen,
ich habe mich in letzter Zeit intensiver damit beschäftigt, wie man Anwendungen leichter wartbar machen kann. Insbesondere war für mich wichtig, dass Komponenten austauschbar sind, um kurzfristiger auf Änderungswünsche reagieren zu können.
Daher habe ich in meiner letzten Anwendung erstmalig, fast alles via Interfaces implementiert. Die jeweiligen Konstruktoren verlangen also Interfaces. Im „Entry Point“ des Programms habe ich dann mittels DI-Container sämtliche Interfaces referenziert.
Funktioniert auch alles super. Austausch- und Wartbarkeit sind voll gegeben. Allerdings ist der „Zusammenbau“ des DI-Containers schon recht kompliziert, da man ja sämtliche Interfaces bis in die unterste Hierarchiestufe referenzieren muss.
Bsp:
KlasseA:
Ctor KlasseA(IKlasseB, IKlasseC)
KlasseB:IKlasseB
Ctor KlasseB(IKlasseD, IKlasseE)
…
Ich kann mir auch nicht vorstellen, dass das so der Weg in richtig großen Projekten ist, auch wenn hier Austauschbarkeit und Wartbarkeit eine noch größere Rolle spielen.
Kann mir hier jemand sagen, wie man bzgl. Softwarearchitektur hier vernünftig vorgehen kann?
Gruß
Frank