Nach dem Buch, das ich lese, in der dreischichtigen Architektur (Präsentation, Anwendung, Speicher) ist Speicherschicht verantwortlich für die Pflege der Speicherung von Daten im System. Wenn dem so ist, denke ich, dass Entitätsklassen in der Anwendungsschicht liegen. Ist das korrekt? Welche Klassen befinden sich in der Speicherschicht? Was ist der Unterschied zwischen Entitätsklassen und den Klassen der Speicherschicht? Kannst du mir bitte ein paar Beispiele geben?Speicherschicht und Entity-Klassen
Antwort
Es gibt hier keine Wahrheit. Menschen haben unterschiedliche Meinungen und haben ihre eigenen Definitionen.
Sie haben Ihre Frage mit dem UML-Tag versehen, aber UML definiert solche Dinge wie "Speicherschicht" oder "Entitätsklasse" nicht.
Sie haben Ihre Frage mit dem Tag "ecb-pattern" markiert, aber dieses Muster definiert logische Ebenen und schreibt keine bestimmte physische Ebenenbildung vor und umgekehrt, eine physische Ebenenbildung schreibt keine logische Ebenenbildung vor. Die dreistufige Architektur, die Sie erwähnen, ist wahrscheinlich eine physische Schichtung. Jede physische Schicht kann das EKB-Muster verwenden oder nicht. Dies ist eine Entscheidung des Softwarearchitekten.
Die meisten Autoren definieren die Speicherschicht als implementiert durch ein Datenbankverwaltungssystem (DBMS), das normalerweise relational ist (RDBMS), wobei objektorientierte Begriffe wie Klassen nicht verwendet werden. Wenn in diesem Fall das EKB-Muster verwendet wird, sind Entitätsklassen Teil der Anwendungsschicht und/oder der Darstellungsschicht.
Beispiel 1: Die Entitätsklasse Person könnte eine Klasse in der Anwendungsschicht sein, die sich selbst fortsetzt, indem sie eine SQL-Nachricht an das RDBMS (= Speicherschicht) sendet. Class Person implementiert normalerweise auch Geschäftsregeln wie "Geburtsdatum sollte in der Vergangenheit sein".
Beispiel 2: Die Entitätsklasse Person könnte eine Klasse in der Präsentationsschicht sein, die sich selbst fortsetzt, indem sie eine Nachricht an die Anwendungsschicht sendet, wo das ecb-Muster nicht verwendet wird (angenommen).
Entitäten sind die Low-End-Datenbank "Teile". Sie repräsentieren die Teile, die Sie in den Datenspeicher für die Persistenz legen. UML verwendet ein Klischee, das eine Band/Kopf ähnelt (falls noch jemand erinnert sich, was das ist):
Die Stereotypen für eine Grenze einen Bildschirm ähneln (oder können Sie sich vorstellen, dass einige Projektion ist). Eine Grenze präsentiert einem Akteur Informationen.
Das Steuerstereotyp ähnelt einem sich drehenden Rad (wo Sie an Arbeit denken) und es verbirgt die Geschäftslogik, die keine Grenzereignisse reagiert und Entitäten ändert/liest.
Sie auch Rechteck-Notation verwenden:
bearbeiten Wie @ www.admiraalit.nl Noten, diese Notation nicht Teil der Überbauten selbst (Grund UML so nicht), sondern eine gemeinsam genutzte Notation in verschiedenen UML-Profilen.
- 1. Lokale Speicherschicht für Entity Framework?
- 2. fflush, fsync und sync vs memory layers
- 3. Wie entwerfe ich einen Data Access Layer entsprechend?
- 4. SQL Server UND UND ODER UND UND
- 5. Unterschied zwischen - und - oder 'und' oder "und"
- 6. SubSonic "Oder" und "UND"
- 7. "und" und Tail-Rekursion
- 8. SOX und Ein- und Ausblenden
- 9. QOpenGLWidget und glReadPixels und Tiefenpuffer
- 10. Flasche und Skalierung und Gleichzeitigkeit
- 11. Realm: kombinieren "oder" und "und"
- 12. ArrayList und String [] UND Objekt []
- 13. Python wenn Bedingung und "und"
- 14. Schienen und Markdown und Editor
- 15. Jack und Jill und destinationDir
- 16. Excel Multiple IF und UND
- 17. Spring und JSF und JPA
- 18. Kopf- und Fußzeile und Freemarker
- 19. Android und onSaveInstance und Restore
- 20. Hibernate und Transaktionen und Tabellensperren
- 21. „Und“ und „Oder“ auf NSPredicates
- 22. reagieren und setState und Autocomplete
- 23. Codierung und Decodierung mit PHP und JavaScript und Datenattribute Validierungs
- 24. Leistung und Sortierung und eindeutige eindeutige zwischen mysql und php
- 25. Batch-Datei umbenennen und verschieben und Variablen und Dinge
- 26. Mit 'und' und 'oder' Logik mit Dropdown-Menüs und MixItUp
- 27. Speicher-Engine: wie schnell zu finden, dass der Schlüssel nicht existiert
- 28. bash: Umleitung (und hängen) stdout und stderr Datei und Terminal und die richtige Exit-Status
- 29. Warum scheinen NSString und NSLog% C und% lc (und% S und% ls) unterschiedlich zu behandeln?
- 30. Breite und Länge, x und y und Unterschiede beim Plotten: geosphere und ggmap
Entitäten sind Low-End-Daten "Teile". Das heißt, sie sind in der Speicherschicht? Das Buch, das ich gerade lese, stecke sie in das Paket mit den Staggagebenen. –
Ehrm. Ist das eine Frage? –
@ThomasKilian, Sie beschreiben die Stereotypen gemäß Rational Unified Process und nicht nach UML. –