yanmai
Goto Top

Unabhängigkeiten in der Algorithmik schaffen

Hallo ihr Administratoren,
ich fange ein Projekt jetzt neu an. Es wird ein sehr komplexes Programm werden. Könnt ihr mir Tipps geben, wie ich Unabhängigkeiten zwischen der UI und der Logik mache? Bei meinen bisherigen Programmen kam ich immer schnell durcheinander...

Content-ID: 345456

Url: https://administrator.de/contentid/345456

Ausgedruckt am: 22.11.2024 um 05:11 Uhr

vossi31
vossi31 04.08.2017 um 19:25:32 Uhr
Goto Top
Moin,

ohne Nennung der Umgebung (Web/Client-Server...) und Programmiersprache, Framework usw. kann das aber nur sehr allgemein sein.
Kannst ja hier mal einsteigen:
https://de.wikipedia.org/wiki/Geschäftslogik

Henning
SeaStorm
SeaStorm 04.08.2017 um 20:47:45 Uhr
Goto Top
Hi wie schon gesagt wurde wird das ohne Nennung deiner Entwicklungsumgebung etc schwer.
Grunsätzlich ist aber https://de.wikipedia.org/wiki/Model_View_Controller dein freund bei sowas
StefanKittel
StefanKittel 04.08.2017 um 20:58:36 Uhr
Goto Top
Hallo,

das richtige Stichwort hast Du ja schon genannt: "Unabhängig"

Also brauchst Du eine strikte Trennung von UI und Funktion.
Im Web-Bereich durch eine API zu erreichen, im Desktop-Bereich durch Libraries.

Deine UI macht dann wirklich nur noch UI und nichts anderes.
Maximal noch die Überprüfung und Formatierung der Ein- und Ausgaben.

Viele Grüße

Stefan
Kraemer
Kraemer 04.08.2017 um 22:05:22 Uhr
Goto Top
Zitat von @StefanKittel:
Maximal noch die Überprüfung und Formatierung der Ein- und Ausgaben.
nope! Nur die Formatierung! Die Überprüfung darf nicht im Frontend passieren - die gehört in die Funktion
Sheogorath
Sheogorath 04.08.2017 um 22:12:56 Uhr
Goto Top
Moin,

was du suchst sind Software Architekturen. Das wohl bekannteste Bespiel ist Model-View-Controller, allerdings gibt es da viele (bessere) Alternativen, die je nach Use-Case zum Einsatz kommen können.

Im Grunde ist das ein eigenes Studienfach mit sehr vielen Abstrakten Begriffen, Konzepten, Pattern und Anti-Pattern, die Teilweise real, teilweise nur Theoretisch zur Anwendung kommen und kamen.

Wenn ich mich recht entsinne ist das der typischerweise empfohlene Schinken: https://www.amazon.de/Software-Engineering-Pearson-Studium-Sommerville/d ...

Ansonsten gilt: Lagere deine Logik in eigene Objekte aus. Wann immer du etwas nicht nur zur Anzeige verarbeitest, anderes Objekt. Gleiches gilt, wenn du etwas speichern willst. Und schau, dass du keine zirkulären Abhängigkeiten bekommst. Sprich: Am besten spricht dein Datenobjekt von sich aus mit niemandem. Dein Controller, ist der einzige, der "schreibend" in Richtung deines Datenobjekts schriebt (Sprich Validierungen macht und ggf. spezielle Vorkalkulationen vornimmt) und letztlich deine View, die ggf. Daten direkt vom Datenobjekt abfragt, aber ansonsten nur mit dem Controller-Objekt spricht. (Insgesamt bin ich jetzt mal davon ausgegangen, dass du eine Objektorientierte Sprache verwendest)

Manche Frameworks versuchen dir aber auch einfach entsprechende Regeln aufzuzwingen. Ein recht schön erklärtes Beispiel findet man z.B. bei Angular: https://angular.io/guide/architecture

Dort kannst du dir vielleicht auch nochmal über die Begriffe und Ideen im klaren werden.

Gruß
Chris
Yanmai
Yanmai 05.08.2017 um 10:39:45 Uhr
Goto Top
Vielen Dank für die Antworten, ich entwickle in der Sprache C# mit VS 2015