Große saubere Architekturen (mit UI?)



  • Na ja, machen tu ich viel, aber am Ende ist das immer irgendwie doch nicht so sauber. Vermutlich muss ich mich wirklich darauf konzentrieren, etwas zu schreiben, was man sowohl über Konsole und UI ausführen könnte, damit wäre der erste Schritt getan.

    DI steht einfach nur im Gegensatz zu globalen Objekten oder Singletons. Die Modelklassen global abzulegen finde ich wegen den Nachteilen von globalen Objekten nicht so schön, deren Auflistung ich mir Mal spare. Man kann natürlich sagen, der Name ist ein Buzzword für etwas sehr Triviales, aber zumindest hat man damit einen klaren Terminus.

    Welchen Vorteil siehst Du genau darin, dass das Backend als Service läuft?



  • ich wegen den Nachteilen von globalen Objekten nicht so schön

    Die Nachteile entstehen erst, wenn du sie auch wirklich als globale Objekte benutzt. Alternativ kannst du sie auch an den Anfang von main setzen.

    Welchen Vorteil siehst Du genau darin, dass das Backend als Service läuft?

    Es ist eine andere Art und Weise. Auch kannst du dadurch viele verschiedene Clientarten realisieren, ohne am Modell etwas zu aendern. Das muss nicht zwingend ueber Netzwerk geschehen, sondern kann auch intern durch eine Messagequeue realiziert sein. Jedoch ist man bei Netzwerk gezwungen Darstellung und Modell zu trennen, da beide Teile nicht zwingend auf dem selben Rechner sind.



  • knivil schrieb:

    ich wegen den Nachteilen von globalen Objekten nicht so schön

    Die Nachteile entstehen erst, wenn du sie auch wirklich als globale Objekte benutzt. Alternativ kannst du sie auch an den Anfang von main setzen.

    Auch das wäre "Dependency Injection". Ja, ist einfach ein Buzz Wort. Es geht nur darum, dass sich eine Klasse das was sie braucht nicht selber besorgt, in dem sie auf eine globale Variable oder ein Singleton zugreift (oder vielleicht auch das selber aus einer Datei liest und damit abhängig von einer bestimmten Struktur wird). Wenn eine Klasse die Instanz von der "Dependency" als Konstruktorargument oder über einen Setter bekommt und sich nicht selbst besorgt, ist es schon DI. Selbst wenn die Instanz selber in Wirklichkeit eine globale Variable ist, die einfach von einer anderen Klasse an deine Klasse übergeben wird. Trotzdem benutzt deine Klasse Dependency Injection, weil sie nicht weiß, wo die Instanz herkommt und das auch nicht wissen muss. Mehr steckt ja nicht dahinter.


Anmelden zum Antworten