Vzor mapovače dat - Data mapper pattern
v softwarové inženýrství, vzor mapovače dat je architektonický vzor. Pojmenoval ji Martin Fowler ve své knize z roku 2003 Vzory podnikové aplikační architektury.[1] Rozhraní objektu vyhovujícího tomuto vzoru by zahrnovalo funkce jako Create, Read, Update a Delete, které fungují na objektech, které představují typy entit domény v úložišti dat.
Data Mapper je Vrstva přístupu k datům který provádí obousměrný přenos dat mezi trvalým úložištěm dat (často a relační databáze ) a reprezentace dat v paměti (doménová vrstva). Cílem vzoru je udržet reprezentaci v paměti a trvalé datové úložiště nezávislé na sobě navzájem a na samotném mapovači dat. Vrstva se skládá z jednoho nebo více mapovačů (nebo Objekty pro přístup k datům ), provádějící přenos dat. Implementace mapovače se liší rozsahem. Obecné mapovače budou zpracovávat mnoho různých typů entit domén, vyhrazené mapovače budou zpracovávat jeden nebo několik.
Implementace
Implementace koncepce lze nalézt v různých rámce pro mnoho programovacích prostředí.
Java / .NET
- MyBatis rámec vytrvalosti
- Přezimovat (NHibernate ) rámec perzistence
Node.js / TypeScript
- Bookshelf.js knihovna
- TypORM knihovna
- Massive.js knihovna
- Prisma
- Objection.js knihovna
- MikroORM knihovna
PHP
- Atlas ORM (mapovač dat, brána dat tabulky, tvůrce dotazů a obálka PDO)[2]
- Nauka 2 Object Relational Mapper (ORM) and the Database Abstraction Layer[3]
- Cyklus ORM (PHP DataMapper ORM a modul pro modelování dat)[4]
Krajta
- SQLAlchemy knihovna
- mincePy knihovna
Rubín
- DataMapper knihovna (Vlastně tato knihovna implementovala návrhový vzor Active Record, jeho nástupce DataMapper 2 (nyní ROM ) zaměřené na skutečnou implementaci návrhového vzoru, který byl pojmenován po
Elixír
- Ecto rámec vytrvalosti
Golang
Viz také
Reference
- ^ Fowler, Martin (2003). Vzory architektury podnikových aplikací. Addison-Wesley. ISBN 978-0-321-12742-6.
- ^ „Atlas ORM - Atlas“.
- ^ „Doctrine2 and ActiveRecord - Doctrine2“. Nauka 2. Archivovány od originál dne 21. 7. 2013. Citováno 2013-04-02.
- ^ „Cycle ORM - Cycle“.