Zum Inhalt springen

Transferobjekt

aus Wikipedia, der freien Enzyklopädie
Dies ist die aktuelle Version dieser Seite, zuletzt bearbeitet am 28. August 2024 um 18:48 Uhr durch 46.142.160.130 (Diskussion) (Rechtschreibung).
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

Das Transferobjekt oder Datentransferobjekt (engl. Data Transfer Object; Abkürzung DTO) ist ein Entwurfsmuster aus dem Bereich der Softwareentwicklung. Es dient zur Bündelung mehrerer Datenfelder in einem Objekt, sodass diese durch einen einzigen Programmaufruf übertragen werden können. Transferobjekte werden in verteilten Systemen eingesetzt, um mehrere zeitintensive Fernzugriffe durch einen einzigen zu ersetzen.

Implementierung

Meistens werden für die Attribute von Transferobjekten nur eine begrenzte Auswahl an Datentypen zugelassen: primitive Datentypen, einfache Klassen und andere Transferobjekte. Alternativ kann das Transferobjekt auch Funktionen zur Serialisierung und Deserialisierung anbieten, welche das DTO in ein übertragbares Format (z. B. ein Binärformat) und zurück umwandeln können.

Zusätzlich muss darauf geachtet werden, dass keine komplizierten Beziehungen zwischen den Transferobjekten entstehen, da diese zu Schwierigkeiten bei der Übertragung der Daten auf andere Systeme und der dort stattfindenden Rekonstruktion der DTOs führen können. Empfehlenswert ist eine einfache Hierarchie, deren Klassendiagramm ein Baum ist.

Terminologie

Ein Transferobjekt ist nicht das gleiche wie ein Wertobjekt.<ref>Karl Eilebrecht, Gernot Starke: Patterns kompakt. 4. Auflage. Springer Vieweg Verlag, Berlin 2013, ISBN 978-3-642-34717-7, S. 114.</ref>

Literatur

  • Karl Eilebrecht, Gernot Starke: Patterns kompakt. Entwurfsmuster für effektive Software-Entwicklung. 2. Auflage, Spektrum Akademischer Verlag, München 2007, ISBN 978-3-8274-1591-2, S. 76–79
  • Martin Fowler: Patterns of Enterprise Application Architecture. Pearson Education, Boston 2003, ISBN 0-321-12742-0, S. 401–413

Weblinks

Einzelnachweise

<references />

<templatestyles src="Erweiterte Navigationsleiste/styles legacy.css" />Vorlage:Klappleiste/Anfang

Erzeugungsmuster

Abstrakte Fabrik | Erbauer | Fabrikmethode | Prototyp | Singleton | Multiton | Objektpool

Strukturmuster

Adapter | Brücke | Decorator | Fassade | Fliegengewicht | Kompositum | Stellvertreter

Verhaltensmuster

Beobachter | Besucher | Interpreter | Iterator | Kommando | Memento | Schablonenmethode | Strategie | Vermittler | Zustand | Zuständigkeitskette | Interceptor | Nullobjekt | Protokollstapel

Muster für objekt-
relationale Abbildung

Datentransferobjekt | Table Data Gateway | Row Data Gateway | Active Record | Unit of Work | Identity Map | Lazy Loading | Identity Field | Dependent Mapping | Embedded Value | Serialized LOB | Inheritance Mapper | Metadata Mapping | Query Object | Command-Query-Responsibility-Segregation

Nachrichten-
übermittlungsmuster
andere

Application Controller | Business Delegate | Data Access Object | Dependency Injection | Extension Interface | Fluent Interface | Inversion of Control (IoC) | Lock | Model View Controller (MVC) | Model View Presenter (MVP) | Model View Update (MVU) | Model View ViewModel (MVVM) | Page Controller | Registry | Remote Facade | Repository | Service Locator | Session State | Table Module | Template View | Threadpool | Transaction Script | Transform View | Two-Step View | Value Object

Vorlage:Klappleiste/Ende