Abhängigkeiten und Voraussetzungen speichern (best practice)
Hallo Entwickler,
ich stehe bei einem Projekt vor der Problematik Abhängigkeiten/ Voraussetzungen zu speichern. Allerdings bin ich mir immer noch nicht ganz schlüssig wie es am besten ist und hoffe da auf eure Erfahrungen. Die Abhängigkeiten können sehr variable sein, um x auszuführen muss y und z erfüllt sein um x auszuführen muss x vorhanden sien und z einen bestimmten zustand haben und z darf nicht vorhanden sein. Wie bilde ich das am besten ab? Vorgeschlagen wurde mir bist jetzt eine
Falls meine Beschreibung noch Unklarheiten offen lässt werde ich diese bei nachfrage natürliche versuchen zu klären. Danke für eure Zeit. |
AW: Abhängigkeiten und Voraussetzungen speichern (best practice)
welche art von abhängigkeiten meinst du konkret - module einer anwendung, einzelne funktionen, daten... ?
cx |
AW: Abhängigkeiten und Voraussetzungen speichern (best practice)
Hallo Cortex, danke für deine Antwort,
ich bin mir nicht sicher was für auswirkungen dieser unterschied hat, aber ich denke mit "funktionen" trifft es ganz gut. Ich habe mir auch schon die Rechteverwaltung von ein paar (wenigen) CMS angeschaut allerdings konnte ich dort auch keine inspiration finden. Zumal es halt keine rechte und rollen zum vergeben sind, sondern vorrausetzungen die man erfüllen muss. |
AW: Abhängigkeiten und Voraussetzungen speichern (best practice)
Ich weiß auch nicht genau was du meinst...
Sind das "statische" Abhängigkeiten? Also z.B. zwischen Klassen, dann wäre evtl das Dependency Injection Pattern was für dich. Oder eine Registry, wo du alle Abhängigkeiten sammelst. |
AW: Abhängigkeiten und Voraussetzungen speichern (best practice)
Indyk, hat sich das problem bereits erledigt / bist du zu einer lösung gekommen?
dies hier bekomme ich nicht ganz zusammen: Zitat:
Zitat:
cx |
AW: Abhängigkeiten und Voraussetzungen speichern (best practice)
Ok mit meinem Versuch es Allgemein zu halten hat wohl den Erklärungen entgegengewirkt.
@cortex hat sich noch nicht erledigt, musste mich aber auf meine Abschlussprüfung vorbereiten ( : Ich versuch es also mit Beispielen. Szenario 1 Ich befinde mich in einem shopsystem und möchte Ware x bestellen, das darf ich aber nur wenn Ware y sich in meinem Einkaufskorb befindet. Ware y kann ich nur dann kaufen wenn ich schon 1 jahr Kunde bin und min 10 Artikel bestellt habe. Szenario 2 Ich beifnde mich in eine Abrechungsoftware und rechne Positionen ab. Position x darf nur 10mal im Monat abgerechnet werden Position y darf nur abgerechnet werden wenn Position z abgerechnet wurde Position a darf nur mit Position b abgerechnet werden. Szenario 3 Browsergame Skill X gibt es erst ab Level 7 Skill Y gibt es erst ab Skill A auf lvl2 und Skill C auf lvl3 Das sind nach meinem Verständnis Abhängigkeiten, und egal im welchen Szenario ich mich befinde müsste es doch eine Lösung geben diese abzubilden. Unabhängig davon ob es eine Artikel, eine Position oder ein Skill ist. @cortex um nochmal auf die Rechte zurück zu kommen, ich sah da eine Ähnlichkeit im verhalten. "User darf X nur ausführen wenn er in der Gruppe Y ist" ich dachte das wären auch Abhängigkeiten und ich könnte mir da was abschauen. @DokuLeseHemmung Danke für den Tipp mit dem pattern. |
AW: Abhängigkeiten und Voraussetzungen speichern (best practice)
Zitat:
Zitat:
Zitat:
tabelle a: a.id | a.prop tabelle b: b.id | b.prop die matrix bringt beide tabellen zusammen: tabelle m: m.id | a.id | b.id das heisst, tabelle a und b dienen ausschliesslich der datenhaltung, tabelle m stellt verbindungen her - hier könnten deine abhängigkeiten gespeichert werden. cx |
AW: Abhängigkeiten und Voraussetzungen speichern (best practice)
Ich sehe keine Möglichkeit das zu vereinheitlichen. Zumindest nicht alles.
Warenkorb: Fall 1: Eignet sich recht gut zur Vereinheillichung. Ein Container mit Inhalt. Da kann man sich jetzt noch überlegen ob der Inhalt Wissen um den Container haben darf. Oder besser nicht. Wenn nicht, könnte das so aussehen: PHP-Code:
Dazu ist eine ganz andere Logik nötig. Abrechungsoftware: Kein Container weit und breit. Also evtl mit Warenkorb Fall2 vergleichbar. Browsergame Rechtesystem und Warenkorb Fall2 Scheinen sich sehr ähnlich, scheint aber auch nur. Das Zend_Acl ist in der Hinsicht sehr schön gemacht. Da kann man sich was abschauen. Hat aber den heftigen Nachteil. Dass immer ALLES, also die gesammt Struktur geladen werden muß. Bei zunehmender Applikationskomplexität ein Klotz am Bein. ------------------------------------------------------------------ Schlußendlich: Du versuchst die Applikationslogik aus der Applikation heraus zu abstrahieren. Das wird nicht gehen. Die Niere macht Stoffwechsel. Die Lunge macht Stoffwechsel. Die Leber macht Stoffwechsel. Ja, alle machen Stoffwechsel. Haben also Input und Output. Das wars aber auch schon mit den Gemeinsamkeiten. ------------------------------------------- Zitat:
Eine Kombination aus Registry, Factory und Dependency Injection Pattern. Besonderheit: Die Abhängigkeiten werden erst zur Laufzeit aufgelöst. PHP-Code:
PHP-Code:
PHP-Code:
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 10:31:25 Uhr. |
Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.