php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 07.01.2012, 12:13  
Erfahrener Benutzer
 
Registriert seit: 26.11.2008
Beiträge: 264
dsentker befindet sich auf einem aufstrebenden Ast
Standard Unterschiede zwischen Entities, Models und DomainObjects

Huhu,

als "Model" bezeichnete ich immer eine Klasse, die Daten, etwa aus einem Repository, repräsentiert. Dabei stellt sie getter- und setter-Methoden bereit.

In diesem Zusammenhang laufen mir aber auch immer wieder zwei andere Begriffe über den Weg: Entities und DomainObjects.

Wer kann mir den Unterschied bzw. den Zusammenhang dieser drei Begriffe erklären?
__________________
dsentker ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 07.01.2012, 12:24  
Erfahrener Benutzer
 
Benutzerbild von tr0y
 
Registriert seit: 26.07.2010
Beiträge: 4.874
PHP-Kenntnisse:
Fortgeschritten
tr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblick
tr0y eine Nachricht über MSN schicken
Standard

Models sind Strukturen die Businesslogik enthalten und Daten aus bspw. Repositories repräsentieren.

DomainObjects sind Models die sich selbst mit anderen DomainObjects vergleichen können, mit ihrer "Domäne" interagieren können ( und sollen ! ) und sich selbst warten können.

Entities sind Datenrepräsentationen die zwar ähnlich der Models und DomainObjects auf Datenresourcen zugreifen ( Repositories, ... ) in ihrer Natur aber reale Entitäten ( man möge es Gruppierte Daten nennen ) wie bspw. "Mitarbeiter", "Auto" oder "Polizei-Hundertschaft" nach bilden. Real mag hier etwas bindend klingen, soll aber nur beispielhaft für die Art und Weise der Gruppierung als Stellvertreter einstehen.
__________________
Lasse mir ohne Anwendung von Gewalt Dinge schenken, Amazon weiß darüber bald mehr.
tr0y ist offline   Mit Zitat antworten
Alt 07.01.2012, 12:33  
Erfahrener Benutzer
 
Registriert seit: 26.11.2008
Beiträge: 264
dsentker befindet sich auf einem aufstrebenden Ast
Standard

Das verwirrt mich ehrlich gesagt nur noch mehr. Seit wann dürfen Models Businesslogik enthalten? Wofür sollte man ein DomainObjekt mit einem anderen Vergleichen? Und sind Entities, die du beschreibst, nicht z.B. Collections bei Doctrine?
__________________
dsentker ist offline   Mit Zitat antworten
Alt 07.01.2012, 12:48  
Erfahrener Benutzer
 
Benutzerbild von tr0y
 
Registriert seit: 26.07.2010
Beiträge: 4.874
PHP-Kenntnisse:
Fortgeschritten
tr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblick
tr0y eine Nachricht über MSN schicken
Standard

domain object:
http://de.wikipedia.org/wiki/Gesch%C3%A4ftsobjekt

entity:
http://de.wikipedia.org/wiki/Entit%C3%A4t_(Informatik)

Collections ist eine Art Entität, ja, allerdings sind Collections eher Datensatzbasierende Entities.

http://de.wikipedia.org/wiki/Model_View_Controller
Zitat:
Modell (model) [Bearbeiten]
Das Modell enthält die darzustellenden Daten und gegebenenfalls (abhängig von der Implementierung des MVC-Patterns) auch die Geschäftslogik. Es ist von Präsentation und Steuerung unabhängig. Die Bekanntgabe von Änderungen an relevanten Daten im Modell geschieht nach dem Entwurfsmuster „Beobachter“. Das Modell ist das zu beobachtende Subjekt, auch Publisher, also „Veröffentlicher“, genannt.
__________________
Lasse mir ohne Anwendung von Gewalt Dinge schenken, Amazon weiß darüber bald mehr.
tr0y ist offline   Mit Zitat antworten
Alt 07.01.2012, 12:59  
Erfahrener Benutzer
 
Registriert seit: 26.11.2008
Beiträge: 264
dsentker befindet sich auf einem aufstrebenden Ast
Standard

Interessant:
Zitat:
Zitat von Wikipedia
Geschäftsobjekte enthalten nicht nur Daten (s. u. Abgrenzung zu Entitäten), sondern auch Verarbeitungslogik.
Das hilft mir weiter. Danke für die Links.

Wenn ich also ein Model habe, dass eine bestimmte Position einer Rechnung (inklusive Menge, Artikelnr, Preis etc) repräsentiert, und ich möchte mir den Gesamtwert ausrechnen, spendiere ich diesem Model die Methode "BerechneGesamtWertDieserZeile()" und dann nennt es sich DomainObject?
Oder wäre die richtige Vorgehensweise ein DomainObject, das im Konstruktor ein Model erwartet, mit dessen Daten es rechnen kann?
__________________
dsentker ist offline   Mit Zitat antworten
Alt 07.01.2012, 14:14  
Erfahrener Benutzer
 
Benutzerbild von tr0y
 
Registriert seit: 26.07.2010
Beiträge: 4.874
PHP-Kenntnisse:
Fortgeschritten
tr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblick
tr0y eine Nachricht über MSN schicken
Standard

Nein, DomainObjects sind keine form von Datenproxy, sondern ein Model. Und ja du kannst dem Model durchaus Berechnungs-Methoden geben, pro Zeile aber nicht, dann bist du bei einem DataSet- / RecordSet- / Iterator-Object, das wiederum DomainObjects / Entities zurückgeben könnte und von einem Model ausgeliefert würde.
__________________
Lasse mir ohne Anwendung von Gewalt Dinge schenken, Amazon weiß darüber bald mehr.

Geändert von tr0y (07.01.2012 um 14:28 Uhr). Grund: *korrigier*
tr0y ist offline   Mit Zitat antworten
Alt 08.01.2012, 23:45  
Erfahrener Benutzer
 
Registriert seit: 26.11.2008
Beiträge: 264
dsentker befindet sich auf einem aufstrebenden Ast
Standard

Warum denn nicht pro Zeile? Irgendwo brauche ich doch eine Methode, die mir den Gesamtwert der Rechnungs-Zeile zurückgibt? (Also quasi return $this->preis * $this->menge). Egal, wo ich diese Methode hinsetze- es macht die Klasse doch dann automatisch zu einem DomainObject?
__________________
dsentker ist offline   Mit Zitat antworten
Alt 09.01.2012, 01:36  
Erfahrener Benutzer
 
Benutzerbild von tr0y
 
Registriert seit: 26.07.2010
Beiträge: 4.874
PHP-Kenntnisse:
Fortgeschritten
tr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblick
tr0y eine Nachricht über MSN schicken
Standard

Jupp.
__________________
Lasse mir ohne Anwendung von Gewalt Dinge schenken, Amazon weiß darüber bald mehr.
tr0y ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
abstrakte unterschiede zwischen ie und opera HTML, Usability und Barrierefreiheit 8 12.03.2005 19:54
Unterschiede zwischen 2 Texten hervorheben? PHP Tipps 2005 9 12.01.2005 11:59
Unterschiede bei HTTP_REFERER zwischen Apache & IIS? PHP Tipps 2004-2 3 17.11.2004 17:11
Unterschiede zwischen Server und vServer Off-Topic Diskussionen 4 14.10.2004 00:31
unterschiede zwischen "CLI" und "normaler&quo PHP Tipps 2004 3 03.09.2004 21:09
session_start() -> unterschiede zwischen linux und window PHP Tipps 2004 3 27.06.2004 22:03

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
domain object or objekt wikipedia, php domain objekt, php models

Alle Zeitangaben in WEZ +2. Es ist jetzt 22:50 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum