Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

PHP5 - Architektur, ORM, SOA & Co

Empfohlene Antworten

Veröffentlicht

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.

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.