Ghost_Rider_R
Lieutenant
- Registriert
- Nov. 2009
- Beiträge
- 758
Hallo zusammen,
ich hätte mal eine ganz allgemeine Frage zur Strukturierung von Software. In meinen Anfängen habe ich eigentlich immer nur Monolithen gebaut, d.h. eine Klasse, im Worst-Case nur die Main-Methode die alles macht. Nicht erweiterbar, nicht modifizierbar, nicht testbar etc. Ein Monolith eben. Bei größeren Softwareprojekten habe ich dann gemerkt, jetzt wird es aber langsam kompliziert und jede Änderung wird immer Aufwändiger.
Dann habe ich mich in den Grundgedanken der Bibliotheken eingearbeitet und kann nun Software in Klasse, Methoden und Bibliotheken verteilen und daraus Micro Services bilden. Soweit so gut.
Nun meine Frage. Gibt es eine Best Practice, wie die Micro Services anschließend verknüpft werden sollte?
So sollte man es wohl nicht machen, Stichwort Death-Star:
Quelle: https://www.pogsdotnet.com
Die ganzen Abhängigkeiten erzeugen bei Änderungen wohl ständig diverse Seiteneffekte, überschaubar ist es so also noch nicht.
Aber wie dann?
Eine Möglichkeit wäre das ganze in Schichten aufzuteilen:
Oder aber, man strukturiert die Software als Tier?
Quelle: https://dzone.com/
Oder doch besser als Stern?
Quelle: https://www.pinterest.de/
Ich bin mir leider noch nicht so ganz sicher, nach welchen Suchbegriffen ich da schauen müsste, da dies ein neuer Bereich für mich ist.
Vielen Dank schon mal für eure Ideen und Anregungen.
LG Ghost.
ich hätte mal eine ganz allgemeine Frage zur Strukturierung von Software. In meinen Anfängen habe ich eigentlich immer nur Monolithen gebaut, d.h. eine Klasse, im Worst-Case nur die Main-Methode die alles macht. Nicht erweiterbar, nicht modifizierbar, nicht testbar etc. Ein Monolith eben. Bei größeren Softwareprojekten habe ich dann gemerkt, jetzt wird es aber langsam kompliziert und jede Änderung wird immer Aufwändiger.
Dann habe ich mich in den Grundgedanken der Bibliotheken eingearbeitet und kann nun Software in Klasse, Methoden und Bibliotheken verteilen und daraus Micro Services bilden. Soweit so gut.
Nun meine Frage. Gibt es eine Best Practice, wie die Micro Services anschließend verknüpft werden sollte?
So sollte man es wohl nicht machen, Stichwort Death-Star:
Quelle: https://www.pogsdotnet.com
Die ganzen Abhängigkeiten erzeugen bei Änderungen wohl ständig diverse Seiteneffekte, überschaubar ist es so also noch nicht.
Aber wie dann?
Eine Möglichkeit wäre das ganze in Schichten aufzuteilen:
Oder aber, man strukturiert die Software als Tier?
Quelle: https://dzone.com/
Oder doch besser als Stern?
Quelle: https://www.pinterest.de/
Ich bin mir leider noch nicht so ganz sicher, nach welchen Suchbegriffen ich da schauen müsste, da dies ein neuer Bereich für mich ist.
Vielen Dank schon mal für eure Ideen und Anregungen.
LG Ghost.