Data Access Object

Multi tool use | Dieser Artikel beschreibt ein Entwurfsmuster. Die Microsoft-Bibliothek ähnlichen Namens ist unter Data Access Objects beschrieben.
|
Data Access Object (DAO, englisch für Datenzugriffsobjekt) ist ein Entwurfsmuster, das den Zugriff auf unterschiedliche Arten von Datenquellen (z. B. Datenbanken, Dateisystem) so kapselt, dass die angesprochene Datenquelle ausgetauscht werden kann, ohne dass der aufrufende Code geändert werden muss. Dadurch soll die eigentliche Programmlogik von technischen Details der Datenspeicherung befreit werden und flexibler einsetzbar sein. DAO ist also ein Muster für die Gestaltung von Programmierschnittstellen (APIs). Wenn eine Programmiersprache keine Trennung von Schnittstellendefinition und -Implementierung ermöglicht, muss ein DAO die definierte Schnittstelle unmittelbar implementieren.
Eigenschaften |
- DAOs abstrahieren den Zugriff auf Datenbanken nicht vollständig, da sie nicht für die Transformation der Daten in die Struktur der Datenbank verantwortlich sind.
- DAOs sind jeweils für ein spezielles Speichermedium optimiert. Der Zugriff auf dieses Medium wird über das vom DAO vorgegebene bzw. zu implementierende API vorgenommen.
- DAOs minimieren den Portierungsaufwand einer Anwendung beim Wechsel des Speichermediums.
Eng verwandt mit dem Data Access Object ist das Entwurfsmuster Transferobjekt. Dieses übernimmt im Zusammenspiel mit dem DAO die Transformation der aus der Datenquelle kommenden Daten in die von der Applikation gewünschte Form. Bei der objektrelationalen Abbildung werden so objektorientierte Daten in relationale Form transformiert.
Anwendungsbeispiele |
Das Muster findet sich auch im J2EE-Umfeld. Apple liefert ein ähnliches Konzept namens Enterprise Objects im Rahmen der WebObjects.
Weblinks |
Core J2EE Patterns - Data Access Object. In: Core J2EE Patterns Catalog. Sun Microsystems
.mw-parser-output div.NavFrameborder:1px solid #A2A9B1;clear:both;font-size:95%;margin-top:1.5em;min-height:0;padding:2px;text-align:center.mw-parser-output div.NavPicfloat:left;padding:2px.mw-parser-output div.NavHeadbackground-color:#EAECF0;font-weight:bold.mw-parser-output div.NavFrame:afterclear:both;content:"";display:block.mw-parser-output div.NavFrame+div.NavFrame,.mw-parser-output div.NavFrame+link+div.NavFramemargin-top:-1px.mw-parser-output .NavTogglefloat:right;font-size:x-small
Entwurfsmuster
|
|
|
Viererbande
|
Erzeugungsmuster
|
Abstrakte Fabrik | Erbauer | Fabrikmethode | Prototyp | Singleton
| Strukturmuster
|
Adapter | Brücke | Decorator | Fassade | Fliegengewicht | Kompositum | Stellvertreter
| Verhaltensmuster
|
Beobachter | Besucher | Interpreter | Iterator | Kommando | Memento | Schablonenmethode | Strategie | Vermittler | Zustand | Zuständigkeitskette
|
|
Weitere Standardmuster
|
Erzeugungsmuster
|
Multiton | Objektpool
| Verhaltensmuster
|
Interceptor | Nullobjekt | Protokollstapel
| Andere
|
Business Delegate | Repository | Data Access Object | Transferobjekt | Dependency Injection | Extension Interface | Fluent Interface | Inversion of Control (IoC) | Model View Controller (MVC) | Model View Presenter (MVP) | Model View ViewModel (MVVM) | Model View Update (MVU) | Threadpool | Service Locator | Registry
|
|
3TgK1S6BS8o2I2 lT CKpbzHEwfIdx75alUpj4nWErC,Hrn0BTK8n,QnHS8 4
Popular posts from this blog
0 I am trying to use an already existing sqLite database in my android app. I have verified that it is loaded into the project in the assets folder and I can browse it in DB browser when I open it directly from the project. This is the schema for the table I am trying to query CREATE TABLE "ACTIVITY_LIST_TBL" ( `_ID` INTEGER NOT NULL, `ACT_NAME` VARCHAR NOT NULL, `ACT_CODE` VARCHAR, `IS_ACTIVE` INTEGER DEFAULT -1, PRIMARY KEY(`_ID`) ) Below is the activity that creates the sqlite helper and then on a button click I execute a query on the ACTIVITY_LIST_TBL. When the query is executed this exception is thrown: android.database.sqlite.SQLiteException: no such table: ACTIVITY_LIST_TBL (code 1 SQLITE_ERROR): , while compiling: SELECT * FROM ACTIVITY_LIST_TBL class CalendarActivity : AppCompatActivity() { private var cursor:Cursor? = null override fun onCreate(savedInstanceState:Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.calendar_activity...
Repubulika y’u Rwanda (Kinyarwanda) République du Rwanda (frz.) Republic of Rwanda (engl.) Jamhuri ya Rwanda (Swahili) Republik Ruanda Flagge Siegel Wahlspruch: Ubumwe, Umurimo, Gukunda Igihugu (Kinyarwanda für „Einheit, Arbeit, Patriotismus“) Amtssprache Kinyarwanda, Französisch, Englisch, Swahili Hauptstadt Kigali Staatsform Republik Regierungssystem Präsidialsystem Staatsoberhaupt Präsident Paul Kagame Regierungschef Premierminister Édouard Ngirente Fläche 26.338 km² Einwohnerzahl 12.988.423 (Stand 2016) [1] Bevölkerungsdichte 468 (16.) Einwohner pro km² Bevölkerungsentwicklung ▲ +2,53 % [2] (2016) Bruttoinlandsprodukt Total (nominal) Total (KKP) BIP/Einw. (nominal) BIP/Einw. (KKP) 2016 [3] 8,406 Mrd. USD (140.) 22,793 Mrd. USD (138.) 729 USD (173.) 1.977 USD (167.) Index der menschlichen Entwicklung ▲ 0,498 (159.) (2016) [4] Währung Ruanda-Franc (RWF) Unabhängigkeit 1....
Der Titel dieses Artikels ist mehrdeutig. Zu weiteren Bedeutungen siehe Ondo (Begriffsklärung). Ondo Basisdaten Hauptstadt: Akure gegründet: 3. Februar 1976 Gouverneur: Rotimi Akeredolu ISO 3166-2: NG-ON Fläche Fläche: 15.500 km² Rang in Nigeria: 25 Bevölkerung Einwohner: 4.671.700 (2016) Bevölkerungsdichte: 320 Einw./km² (2016) Rang in Nigeria: 18 Lage von Ondo in Nigeria Ondo ist ein Bundesstaat des westafrikanischen Landes Nigeria mit der Hauptstadt Akure, die mit 420.623 Einwohnern (2005) auch die größte Stadt des Bundesstaates ist. Inhaltsverzeichnis 1 Geografie 2 Geschichte 2.1 Liste der Gouverneure und Administratoren 3 Verwaltung 4 Wirtschaft Geografie | Der Bundesstaat liegt im Südwesten des Landes und grenzt im Norden an den Bundesstaat Ekiti, im Nordwesten an den Bundesstaat Osun, im Nordosten an den Bundesstaat Kogi, im Süden an den Atlantik, im Südosten an den Bundesstaat Delta, im Westen an den Bundess...