2012-04-14 18 views
0

ich die Benutzerdaten in zwei Tabellen/Objekte teilen möchten:Lehre: lose Beziehung zwischen zwei Entitäten

  1. Technische Benutzerdaten (Benutzername, E-Mail, Passwort, Salz, ..)
  2. Persönliche Nutzerdaten (Name, Geburtsort, Adresse, charakteristisch)

die harte daran ist nun, dass ein einfaches eingebettetes Objekt (persönliche Benutzerdaten im tecnical Nutzdaten eingebettet ist) müssten strenge Abhängigkeit und zwei Objekte völlig getrennt würde Erschweren Sie die Bearbeitung von Berechtigungsfragen.

Also, wie kann ich die Daten beziehen, ohne Abhängigkeit zwischen den Einheiten?

Mit besten Grüßen, Bodo

Antwort

0

Ihre Frage Lesen, was mir in den Sinn kommt, ist "Loose-Schnittstelle Kopplung". In diesem Fall können Sie Folgendes tun: 1) Erstellen Sie eine Schnittstelle, die öffentliche Methoden für persönliche Benutzerdaten definiert, z. B. "PersonalDataInterface". 2) Lassen Sie die Entität mit persönlichen Daten diese Schnittstelle implementieren. 3) Geben Sie in Ihrer technischen Datenentität anstelle der Eingabe der Entität mit persönlichen Daten die Schnittstelle ein.

Auf diese Weise können Sie jedes Objekt, das diese Schnittstelle implementiert, an diese Entität übergeben.

Ich hoffe, es hat geholfen!

+0

Hallo, danke für die Antwort! Die lose Beziehung sollte auf der Persistenzschicht sein. So direkt in Doctrine. Ich sollte die Möglichkeit haben, entweder private Daten oder technische Daten zu holen, ohne das volle Objekt von beiden zu haben. Wenn der Benutzer beispielsweise eine neue Datei hochlädt, die ich nur in der Benutzerdateneinheit speichern möchte, und alles in Ordnung ist, möchte ich der technischen Benutzereinheit nicht mitteilen, dass ein neues Bild mit dem Benutzer verknüpft ist – bodokaiser

Verwandte Themen