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-Key: 345456

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

Printed on: April 19, 2024 at 13:04 o'clock

Member: vossi31
vossi31 Aug 04, 2017 at 17:25:32 (UTC)
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
Member: SeaStorm
SeaStorm Aug 04, 2017 at 18:47:45 (UTC)
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
Member: StefanKittel
StefanKittel Aug 04, 2017 at 18:58:36 (UTC)
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
Member: Kraemer
Kraemer Aug 04, 2017 at 20:05:22 (UTC)
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
Member: Sheogorath
Sheogorath Aug 04, 2017 at 20:12:56 (UTC)
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
Member: Yanmai
Yanmai Aug 05, 2017 at 08:39:45 (UTC)
Goto Top
Vielen Dank für die Antworten, ich entwickle in der Sprache C# mit VS 2015