Data mapper

Data mapper — шаблон проєктування взаємодії з базою даних. Призначений для зменшення взаємного впливу структури об'єкта та структури, яка реально зберігає дані об'єкта. Уперше був запропонований Мартіном Фаулером у 2003 році в книзі Patterns of Enterprise Application Architecture. Згідно з цим шаблоном інтерфейс об'єкта повинен містити методи CRUD, на противагу безпосередній взаємодії з базою даних.

Шаблон Data mapper — це прошарок доступу до бази даних, що забезпечує двосторонню конвертацію даних з об'єкта (в оперативній пам'яті) до бази даних, і з бази даних знов у об'єкт. Шаблон повністю відповідає своїй назві — він полягає у створенні мапи відповідності між полями властивостей об'єкта та полем у БД, у якому зберігається значення властивостей. Таким чином зміна структури в БД вимагає лише зміни самої мапи й не зачіпає основний код проєкту, так само програміст може змінити структуру об'єкта (в певних межах), залишивши базу даних незмінною.

Реалізації

Принцип реалізовано у численних фреймворках на різних мовах програмування.

Java/.Net

  • Фреймворк MyBatis 

PHP

  • Doctrine2 об'єктно-реляційне-відображення (ORM) та прошарок абстракції бази даних [1]

Python

Ruby

Реалізація

public class Customer
{
	public int ID { get; set; }
	public string Name { get; set; }

	public Customer(int id, string name)
	{
		ID = id;
		Name = name;
	}
}
public class CustomerMapper
{

	public Customer GetByID(int id)
	{
		Db db = ...;
		var record = db.ReadUser(id);

		return new Customer(record.id, record.name);
	}

	public void Save(Customer customer)
	{
		// враховуємо те що структура об'єкта та його представлення у сховищі можуть відрізнятись
		...
	}

	public void Delete(int id)
	{
		Db db = ...;
		db.Delete(id);
	}
}

Див. також

Посилання


Примітки

  1. Doctrine2 and ActiveRecord – Doctrine2. Doctrine2. Архів оригіналу за 21 липень 2013. Процитовано 8 серпень 2016.  [Архівовано 2013-07-21 у Wayback Machine.]

Read other articles:

American Civil War soldier Henry Hoʻolulu PitmanPortrait of Henry Hoʻolulu Pitman at the Peabody Essex Museum[1]Born(1845-03-18)March 18, 1845Hilo, Hawaiʻi, Kingdom of HawaiʻiDiedFebruary 27, 1863(1863-02-27) (aged 17)Camp Parole, Annapolis, MarylandBuriedMount Auburn Cemetery, Cambridge, MassachusettsAllegianceUnited States of AmericaUnionService/branchUnion ArmyYears of service1862–1863RankPrivateUnit22nd Regiment Massachusetts Volunteer InfantryBattles/warsAmerican ...

 

يفتقر محتوى هذه المقالة إلى الاستشهاد بمصادر. فضلاً، ساهم في تطوير هذه المقالة من خلال إضافة مصادر موثوق بها. أي معلومات غير موثقة يمكن التشكيك بها وإزالتها. (ديسمبر 2018) تشيلي في الألعاب الأولمبية علم تشيلي رمز ل.أ.د.  CHI ل.أ.و. اللجنة الأولمبية التشيليةرابط إضافي (ب...

 

American diplomat (1866–1930) Washburn, Albert Henry, Minister to Vienna, 7/21/24 Albert Henry Washburn (1866–April 29, 1930) was a non-career appointee who served as the American Envoy Extraordinary and Minister Plenipotentiary to Austria from 1922 until his death on April 29, 1930.[1] Biography Washburn was born in Middleborough, Massachusetts to Edward and Ann (White) Washburn. He graduated from Cornell University in 1889 and joined the Consular Service in 1890. He earned a LL....

Coastal wetlands where sediments have been deposited by tides or rivers General sketch-map of a tidal plain, showing the typical tripartition in supratidal, intertidal and subtidal zones. The most apparent character of the area is the development of tidal channels, affecting mainly the intertidal zone. In this case, the tidal flat is protected seaward by a beach barrier, but in many cases (low-energy waves and longshore currents) the tidal flats may directly pass into a shallow marine environ...

 

Suburb of Cardiff, Wales Human settlement in WalesDanescourtSt John the Baptist parish churchDanescourtLocation within CardiffOS grid referenceST1379Principal areaCardiffPreserved countyCardiffCountryWalesSovereign stateUnited KingdomPost townCardiffPostcode districtCF5Dialling code029PoliceSouth WalesFireSouth WalesAmbulanceWelsh UK ParliamentCardiff WestSenedd Cymru – Welsh ParliamentCardiff WestWebsiteDanescourt Community Association List of places...

 

In this woodblock from 1568, the printer at left is removing a page from the press while the one at right inks the text-blocks Propaganda during the Reformation (or the Protestant Revolution of 16th century), helped by the spread of the printing press throughout Europe and in particular within Germany, caused new ideas, thoughts, and doctrines to be made available to the public in ways that had never been seen before the sixteenth century. The printing press was invented in approximately 1450...

この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方)出典検索?: コルク – ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL(2017年4月) コルクを打ち抜いて作った瓶の栓 コルク(木栓、�...

 

City in southern Romania For other uses, see Giurgiu (disambiguation). You can help expand this article with text translated from the corresponding article in Romanian. (February 2013) Click [show] for important translation instructions. Machine translation, like DeepL or Google Translate, is a useful starting point for translations, but translators must revise errors as necessary and confirm that the translation is accurate, rather than simply copy-pasting machine-translated text into t...

 

Neobatrachia Обыкновенная квакша Научная классификация Домен:ЭукариотыЦарство:ЖивотныеПодцарство:ЭуметазоиБез ранга:Двусторонне-симметричныеБез ранга:ВторичноротыеТип:ХордовыеПодтип:ПозвоночныеИнфратип:ЧелюстноротыеНадкласс:ЧетвероногиеКласс:ЗемноводныеПодкласс:Б�...

Former railway station in England FoulshamFoulsham station, 2014General informationLocationFoulsham, Broadland, NorfolkEnglandGrid referenceTG027242Platforms1Other informationStatusDisusedHistoryPre-groupingEast Norfolk Railway Great Eastern RailwayPost-groupingLondon & North Eastern Railway Eastern Region of British RailwaysKey dates1 May 1882Opened15 September 1952Closed to passengers31 October 1964Closed to freight Foulsham was a railway station in North Norfolk. It served the village ...

 

2016年美國總統選舉 ← 2012 2016年11月8日 2020 → 538個選舉人團席位獲勝需270票民意調查投票率55.7%[1][2] ▲ 0.8 %   获提名人 唐納·川普 希拉莉·克林頓 政党 共和黨 民主党 家鄉州 紐約州 紐約州 竞选搭档 迈克·彭斯 蒂姆·凱恩 选举人票 304[3][4][註 1] 227[5] 胜出州/省 30 + 緬-2 20 + DC 民選得票 62,984,828[6] 65,853,514[6]...

 

此條目可能包含不适用或被曲解的引用资料,部分内容的准确性无法被证實。 (2023年1月5日)请协助校核其中的错误以改善这篇条目。详情请参见条目的讨论页。 各国相关 主題列表 索引 国内生产总值 石油储量 国防预算 武装部队(军事) 官方语言 人口統計 人口密度 生育率 出生率 死亡率 自杀率 谋杀率 失业率 储蓄率 识字率 出口额 进口额 煤产量 发电量 监禁率 死刑 国债 ...

SMK Negeri 8 PadangInformasiJenisNegeriAkreditasiBNomor Statistik Sekolah401086103007Nomor Pokok Sekolah Nasional10304852Kepala SekolahRDS Deta Mahendra, S.Pd., M.M.[1]Ketua KomiteRika MediRentang kelasX, XI, XIIKurikulumKurikulum 2013AlamatLokasiCengkeh Nan XX, Lubuk Begalung, Padang, Sumatera Barat, IndonesiaTel./Faks.0751-71815Situs webhttp://www.smk8-padang.sch.id/Moto SMK Negeri 8 Padang (berdiri dengan nama Sekolah Menengah Industri Kerajinan (SMIK) Padang)[2&...

 

Pada nama Vietnam ini, nama keluarga-nya adalah Nguyễn. Menurut kebiasaan Vietnam, tokoh ini dipanggil dengan nama pemberian-nya Thiệu. Nguyễn Văn Thiệu Presiden Republik Vietnam ke-2Masa jabatan3 September 1967 – 21 April 1975Perdana MenteriNguyễn Cao KỳNguyễn Văn LộcTrần Văn HươngTrần Thiện KhiêmNguyễn Bá CẩnWakil PresidenNguyễn Cao Kỳ (1967–1971) Trần Văn Hương (1971-1975)PendahuluDia sendiri(sebagai Ketua Komite Kepemimpinan Nasional)...

 

Hmong-American chef Yia Vang (born 1984)[1] is a Hmong-American chef in Minneapolis, Minnesota. Vang cooking Copi on season 2 of Feral Early life and education Vang was born in Ban Vinai refugee camp in Thailand after his family had fled Laos at the end of the Vietnamese War after the fall of Saigon.[2][3] His father, Nhia Lor Vang, and mother, Pang Her, both widowed during the crossing of the Mekong, met at the camp in 1977 and married in 1978.[4][1] V...

American firearms designer (1855–1926) For other people named John Browning, see John Browning (disambiguation). This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: John Browning – news · newspapers · books · scholar · JSTOR (March 2017) (Learn how and when to remove this message) John Moses BrowningBrowning, ...

 

Bilateral relationsEcuadorian–American relations Ecuador United States Ecuador and the United States maintained close ties based on mutual interests in maintaining democratic institutions; combating cannabis and cocaine; building trade, investment, and financial ties; cooperating in fostering Ecuador's economic development; and participating in inter-American organizations. Ties are further strengthened by the presence of an estimated 150,000-200,000 Ecuadorians living in the United States ...

 

Artikel ini sebatang kara, artinya tidak ada artikel lain yang memiliki pranala balik ke halaman ini.Bantulah menambah pranala ke artikel ini dari artikel yang berhubungan atau coba peralatan pencari pranala.Tag ini diberikan pada Desember 2022. Martha Bulloch RooseveltBulloch, 1857LahirMartha Stewart Bulloch(1835-07-08)8 Juli 1835Hartford, Connecticut, A.S.Meninggal14 Februari 1884(1884-02-14) (umur 48)6 West 57th StreetNew York City, A.S.Suami/istriTheodore Roosevelt Sr. ​ &#...

هذه المقالة تحتاج للمزيد من الوصلات للمقالات الأخرى للمساعدة في ترابط مقالات الموسوعة. فضلًا ساعد في تحسين هذه المقالة بإضافة وصلات إلى المقالات المتعلقة بها الموجودة في النص الحالي. (يونيو 2020) وحدة تشكيل مستعمرة الصارية (اختصارًا CFU-Mast) هي وحدة تشكيل مستعمرة. ينشأ منها الخ�...

 

Renang pada Olimpiade Musim Panas 1952LokasiStadion Renang HelsinkiHelsinkiTanggal26 Juli–2 Agustus 1952Jumlah disiplin11Peserta319 dari 48 negara← 19481956 → Renang pada Olimpiade Musim Panas 1952 adalah pelaksanaan cabang olahraga renang pada penyelenggaraan Olimpiade Musim Panas 1952. Kompetisi pada cabang olahraga ini berlangsung di Stadion Renang Helsinki, Helsinki. Edisi ini menandingkan 11 nomor. 319 atlet dari 48 negara bertanding dalam edisi ini...