Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

hu,

einmal mehr grübele ich über die Architektur innerhalb meiner PHP-Anwendungen.

Derzeit setze ich ein Data-Abstraction Layer (DAL) ein, um Datenbasis und Verarbeitungslogik zu trennen. An sich ein schönes O/R-Mapping.

Datenbeispiel:

Ich verwalte Bestellungen und zu jeder Bestellung einen Kontakt (Name, adresse etz.)

Situation:

Nun ist der schöne fall eingetreten, das ich die gleichen Daten an verschiedenen stellen speichere.

denn, es ist ein Archiv. Ändern dieser Daten darf dort nicht erfolgen. Wg. Rechnungsstellung unsw.

Live-Daten werden unter bestimmten Bedingungen in das Archiv verschoben.

Somit verhindere ich eine Änderung der Kontaktdaten für bereits abgearbeitete Bestellungen. Da darf sich ja nix mehr ändern.

Problem:

Jede Entity-Klasse weis, welche Tabelle ihre Daten enthält und in welcher Art (spaltennamen) sie abgelegt sind.

Was wieder dazu führt, das ich für das Archiv eigene Entity-Klassen anlegen muss, die Ablagestruktur unterscheidet sich geringfügig.

Letztlich ist die Struktur für Bestellung und Kontakt aber die gleiche.

Archiv-Bestellung und Live-Bestellung haben beide eine Getter-Methode um an den Kontakt zu kommen.

Idee:

ein wenig von SOA (Service Oriented Architecture) inspiriert, eine Trennung zwischen EntityBean und DataBean.

So das meine verarbeitungslogik wirklich nur Daten hat (Bestellung inklusive Getter Methode)

aber die Frage wie die Daten aussehen, wo sie abgelegt sind unsw. getrennt abgelegt ist.

Ich frage dann eine Service-Klasse "gib mir alle bestellungen", diese liefert mir Databeans aus dem Live-bestand. Oder ich Frage "gib mir archivierte bestellungen" die mir Objekte der Gleichen Bestellungs-Klasse liefert, allerdings aus dem archiv.

Frage:

Jemand Erfahrung damit, Ideen ?

ich hake jetzt noch an der Konkreteren Umsetzung.

Die Getter-Methode der Bestellung muss ja, abhängig davon ob sie archiviert ist oder nicht, auch den Kontakt anders anfragen. ... oder der Service der die Kontakte verwaltet, liefert den Kontakt anders, je nachdem wer fragt.

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...