डेटा मैपर पैटर्न: Difference between revisions

From Vigyanwiki
(Created page with "सॉफ्टवेयर इंजीनियरिंग में, डेटा मैपर पैटर्न एक वास्तुकला पैटर्...")
 
No edit summary
 
(6 intermediate revisions by 4 users not shown)
Line 1: Line 1:
[[सॉफ्टवेयर इंजीनियरिंग]] में, डेटा मैपर पैटर्न एक [[ वास्तुकला पैटर्न (कंप्यूटर विज्ञान) ]] है। इसका नाम [[मार्टिन फाउलर (सॉफ्टवेयर इंजीनियर)]] ने अपनी 2003 की पुस्तक पैटर्न्स ऑफ एंटरप्राइज एप्लीकेशन आर्किटेक्चर में रखा था।<ref>{{cite book |last=Fowler |first=Martin |title=एंटरप्राइज़ एप्लिकेशन आर्किटेक्चर के पैटर्न|publisher=Addison-Wesley |year=2003 |isbn=978-0-321-12742-6 |url=https://books.google.com/books?id=FyWZt5DdvFkC&dq=active+record&pg=PT187 }}</ref> इस पैटर्न के अनुरूप किसी ऑब्जेक्ट के इंटरफ़ेस में क्रिएट, रीड, अपडेट और डिलीट जैसे फ़ंक्शंस शामिल होंगे, जो डेटा स्टोर में डोमेन इकाई प्रकारों का प्रतिनिधित्व करने वाली वस्तुओं पर काम करते हैं।
[[सॉफ्टवेयर इंजीनियरिंग]] में, '''डेटा मैपर पैटर्न''' एक आर्किटेक्चरल पैटर्न है। इसका नाम [[मार्टिन फाउलर (सॉफ्टवेयर इंजीनियर)|मार्टिन फाउलर]] ने अपनी 2003 की पुस्तक पैटर्न्स ऑफ एंटरप्राइज एप्लीकेशन आर्किटेक्चर में रखा था।<ref>{{cite book |last=Fowler |first=Martin |title=एंटरप्राइज़ एप्लिकेशन आर्किटेक्चर के पैटर्न|publisher=Addison-Wesley |year=2003 |isbn=978-0-321-12742-6 |url=https://books.google.com/books?id=FyWZt5DdvFkC&dq=active+record&pg=PT187 }}</ref> इस पैटर्न के अनुरूप किसी ऑब्जेक्ट के इंटरफ़ेस में क्रिएट, रीड, अपडेट और डिलीट जैसे फ़ंक्शन सम्मिलित होंगे, जो उन ऑब्जेक्ट पर काम करते हैं जो डेटा स्टोर में डोमेन इकाई प्रकारों का प्रतिनिधित्व करते हैं।


डेटा मैपर एक [[डेटा एक्सेस परत]] है जो लगातार डेटा स्टोर (अक्सर एक [[ संबंध का डेटाबेस ]]) और एक इन-मेमोरी डेटा प्रतिनिधित्व (डोमेन लेयर) के बीच डेटा का द्विदिश हस्तांतरण करता है। पैटर्न का लक्ष्य इन-मेमोरी प्रतिनिधित्व और लगातार डेटा स्टोर को एक दूसरे से और डेटा मैपर से स्वतंत्र रखना है। यह तब उपयोगी होता है जब किसी को डोमेन परत में डेटा पर सख्त व्यावसायिक प्रक्रियाओं को मॉडल और लागू करने की आवश्यकता होती है जो लगातार डेटा स्टोर में बड़े करीने से मैप नहीं करते हैं।<ref>{{Cite web|title=What's the difference between Active Record and Data Mapper?|url=https://www.culttt.com/2014/06/18/whats-difference-active-record-data-mapper|url-status=live}}</ref> परत एक या अधिक मैपर (या [[डेटा एक्सेस ऑब्जेक्ट]]) से बनी होती है, जो डेटा ट्रांसफर करती है। मैपर कार्यान्वयन दायरे में भिन्न होता है। सामान्य मैपर कई अलग-अलग डोमेन इकाई प्रकारों को संभालेंगे, समर्पित मैपर एक या कुछ को संभालेंगे।
डेटा मैपर एक डेटा एक्सेस लेयर है जो एक सतत डेटा स्टोर (अक्सर एक रिलेशनल डेटाबेस) और एक इन-मेमोरी डेटा प्रतिनिधित्व (डोमेन परत) के बीच डेटा का द्विदिशात्मक स्थानांतरण करता है। पैटर्न का लक्ष्य इन-मेमोरी प्रतिनिधित्व और लगातार डेटा स्टोर को एक-दूसरे और डेटा मैपर से स्वतंत्र रखना है। यह तब उपयोगी होता है जब किसी को डोमेन परत में डेटा पर सख्त व्यावसायिक प्रक्रियाओं को मॉडल करने और लागू करने की आवश्यकता होती है जो लगातार डेटा स्टोर में अच्छी तरह से मैप नहीं होती हैं।<ref>{{Cite web|title=What's the difference between Active Record and Data Mapper?|url=https://www.culttt.com/2014/06/18/whats-difference-active-record-data-mapper|url-status=live}}</ref> लेयर एक या एक से अधिक मैपर्स (या डेटा एक्सेस ऑब्जेक्ट) से बनी होती है, जो डेटा ट्रांसफर करती है। मैपर कार्यान्वयन का दायरा अलग-अलग होता है। जेनेरिक मैपर्स कई अलग-अलग डोमेन इकाई प्रकारों को संभालेंगे, समर्पित मैपर्स एक या कुछ को संभालेंगे।


== कार्यान्वयन ==
== कार्यान्वयन ==
कई प्रोग्रामिंग वातावरणों के लिए अवधारणा के कार्यान्वयन को विभिन्न सॉफ्टवेयर ढांचे में पाया जा सकता है।
अवधारणा का कार्यान्वयन कई प्रोग्रामिंग वातावरणों के लिए विभिन्न रूपरेखाओं में पाया जा सकता है।


=== जावा/नेट ===
=== जावा/नेट ===
* [[MyBatis]] दृढ़ता ढांचा
* MyBatis (मायबटिस) पर्सिस्टेंस फ्रेमवर्क
* हाइबरनेट_(ढांचा) ([[एनएचबेर्नेट]]) दृढ़ता ढांचा
* हाइबरनेट (एनहाइबरनेट) पर्सिस्टेंस फ्रेमवर्क


=== नोड.जेएस / टाइपस्क्रिप्ट ===
=== नोड.जेएस / टाइपस्क्रिप्ट ===
* [http://bookshelfjs.org/ Bookshelf.js] पुस्तकालय
* बुकशेल्फ़.जेएस लाइब्रेरी
* [https://typeorm.github.io/ TypeORM] लाइब्रेरी
* टाइपओआरएम लाइब्रेरी
* [https://massivejs.org/ Massive.js] लाइब्रेरी
* मैसिव.जेएस लाइब्रेरी
* [https://www.prisma.io/ प्रिज्मा]
* प्रिस्मा
* [https://vincit.github.io/objection.js/ Objection.js] पुस्तकालय
* आपत्ति.जेएस लाइब्रेरी
* [https://mikro-orm.io/ MikroORM] पुस्तकालय
* माइक्रोओआरएम लाइब्रेरी
* [https://ldkit.io/ LDkit] आरडीएफ डेटा स्रोतों के लिए ऑब्जेक्ट ग्राफ़ मैपर (ओजीएम)।
* आरडीएफ डेटा स्रोतों के लिए एलडीकिट ऑब्जेक्ट ग्राफ़ मैपर (ओजीएम)।


=== पीएचपी ===
=== पीएचपी ===
* एटलस (PHP) ORM (डेटा मैपर, टेबल डेटा गेटवे, क्वेरी बिल्डर और पीडीओ रैपर)<ref name="Atlas">{{cite web|url=http://atlasphp.io/|title=Atlas ORM{{spaced ndash |archiveurl=http://atlasphp.io}} Atlas}}</ref>
* एटलस (पीएचपी) ओआरएम (डेटा मैपर, टेबल डेटा गेटवे, क्वेरी बिल्डर और पीडीओ रैपर)<ref name="Atlas">{{cite web|url=http://atlasphp.io/|title=Atlas ORM{{spaced ndash |archiveurl=http://atlasphp.io}} Atlas}}</ref>
* सिद्धांत (PHP) ऑब्जेक्ट रिलेशनल मैपर (ORM) और डेटाबेस एब्स्ट्रेक्शन लेयर<ref name="Doctorine2">{{cite web|url=http://www.doctrine-project.org/blog/your-own-orm-doctrine2.html#doctrine2-and-activerecord|title=Doctrine2 and ActiveRecord{{spaced ndash }} Doctrine2|publisher=[[Doctrine (PHP)|Doctrine2]]|access-date=2013-04-02|archive-url=https://web.archive.org/web/20130721044554/http://www.doctrine-project.org/blog/your-own-orm-doctrine2.html#doctrine2-and-activerecord|archive-date=2013-07-21|url-status=dead}}</ref>
* डॉक्ट्रिन2 (पीएचपी) ऑब्जेक्ट रिलेशनल मैपर (ओआरएम) और डेटाबेस एब्स्ट्रेक्शन लेयर<ref name="Doctorine2">{{cite web|url=http://www.doctrine-project.org/blog/your-own-orm-doctrine2.html#doctrine2-and-activerecord|title=Doctrine2 and ActiveRecord{{spaced ndash }} Doctrine2|publisher=[[Doctrine (PHP)|Doctrine2]]|access-date=2013-04-02|archive-url=https://web.archive.org/web/20130721044554/http://www.doctrine-project.org/blog/your-own-orm-doctrine2.html#doctrine2-and-activerecord|archive-date=2013-07-21|url-status=dead}}</ref>
* [https://github.com/cycle/orm Cycle] ORM (PHP DataMapper ORM और डेटा मॉडलिंग इंजन)<ref name="Cycle">{{cite web|url=https://github.com/cycle/orm|title=Cycle ORM{{spaced ndash }} Cycle|website=[[GitHub]]}}</ref>
* [https://github.com/cycle/orm Cycle] ओआरएम (पीएचपी डाटामैपर ओआरएम और डेटा मॉडलिंग इंजन)<ref name="Cycle">{{cite web|url=https://github.com/cycle/orm|title=Cycle ORM{{spaced ndash }} Cycle|website=[[GitHub]]}}</ref>
 
 
=== पर्ल ===
=== पर्ल ===
*[https://metacpan.org/dist/DBIx-Class DBIx]<ref name="DBIx">{{cite web|url=https://stackoverflow.com/questions/281440/is-there-an-orm-for-perl|title=stack overflow{{spaced ndash |archiveurl=https://stackoverflow.com/questions/281440/is-there-an-orm-for-perl}} DBIx}}</ref>
*[https://metacpan.org/dist/DBIx-Class DBIx]<ref name="DBIx">{{cite web|url=https://stackoverflow.com/questions/281440/is-there-an-orm-for-perl|title=stack overflow{{spaced ndash |archiveurl=https://stackoverflow.com/questions/281440/is-there-an-orm-for-perl}} DBIx}}</ref>


=== पायथन ===
=== पायथन ===
* [[SQLAlchemy]] लाइब्रेरी
* एसक्यूएल अलकेमी लाइब्रेरी
* [https://mincepy.readthedocs.io/en/latest/ mincePy] लाइब्रेरी
* [https://mincepy.readthedocs.io/en/latest/ mincePy] लाइब्रेरी


=== रूबी ===
=== रूबी ===
* [http://datamapper.org/ DataMapper] लाइब्रेरी (दरअसल इस लाइब्रेरी ने एक्टिव रिकॉर्ड डिज़ाइन पैटर्न को लागू किया, इसके उत्तराधिकारी, DataMapper 2 (अब [http://rom-rb.org/ ROM]) का उद्देश्य वास्तव में इसे लागू करना है डिजाइन पैटर्न के नाम पर रखा गया था)
* [http://datamapper.org/ डेटामैपर] लाइब्रेरी (दरअसल इस लाइब्रेरी ने एक्टिव रिकॉर्ड डिज़ाइन पैटर्न को लागू किया, इसके उत्तराधिकारी, डेटामैपर 2 (अब [http://rom-rb.org/ ROM]) का उद्देश्य वास्तव में इसे लागू करना है डिजाइन पैटर्न के नाम पर रखा गया था)


=== अमृत ===
=== अमृत ===
* [https://github.com/elixir-ecto/ecto Ecto] दृढ़ता ढांचा
* [https://github.com/elixir-ecto/ecto Ecto] दृढ़ता ढांचा


== यह भी देखें ==
== यह भी देखें ==
Line 46: Line 51:
{{Reflist}}
{{Reflist}}


{{DEFAULTSORT:Data mapper pattern}}[[Category: सॉफ्टवेयर डिजाइन पैटर्न]] [[Category: वास्तुकला पैटर्न (कंप्यूटर विज्ञान)]]
{{DEFAULTSORT:Data mapper pattern}}
 
 


[[Category: Machine Translated Page]]
[[Category:CS1 maint|Data mapper pattern]]
[[Category:Created On 14/06/2023]]
[[Category:Created On 14/06/2023|Data mapper pattern]]
[[Category:Machine Translated Page|Data mapper pattern]]
[[Category:Pages with script errors|Data mapper pattern]]
[[Category:Templates Vigyan Ready|Data mapper pattern]]
[[Category:वास्तुकला पैटर्न (कंप्यूटर विज्ञान)|Data mapper pattern]]
[[Category:सॉफ्टवेयर डिजाइन पैटर्न|Data mapper pattern]]

Latest revision as of 19:41, 5 July 2023

सॉफ्टवेयर इंजीनियरिंग में, डेटा मैपर पैटर्न एक आर्किटेक्चरल पैटर्न है। इसका नाम मार्टिन फाउलर ने अपनी 2003 की पुस्तक पैटर्न्स ऑफ एंटरप्राइज एप्लीकेशन आर्किटेक्चर में रखा था।[1] इस पैटर्न के अनुरूप किसी ऑब्जेक्ट के इंटरफ़ेस में क्रिएट, रीड, अपडेट और डिलीट जैसे फ़ंक्शन सम्मिलित होंगे, जो उन ऑब्जेक्ट पर काम करते हैं जो डेटा स्टोर में डोमेन इकाई प्रकारों का प्रतिनिधित्व करते हैं।

डेटा मैपर एक डेटा एक्सेस लेयर है जो एक सतत डेटा स्टोर (अक्सर एक रिलेशनल डेटाबेस) और एक इन-मेमोरी डेटा प्रतिनिधित्व (डोमेन परत) के बीच डेटा का द्विदिशात्मक स्थानांतरण करता है। पैटर्न का लक्ष्य इन-मेमोरी प्रतिनिधित्व और लगातार डेटा स्टोर को एक-दूसरे और डेटा मैपर से स्वतंत्र रखना है। यह तब उपयोगी होता है जब किसी को डोमेन परत में डेटा पर सख्त व्यावसायिक प्रक्रियाओं को मॉडल करने और लागू करने की आवश्यकता होती है जो लगातार डेटा स्टोर में अच्छी तरह से मैप नहीं होती हैं।[2] लेयर एक या एक से अधिक मैपर्स (या डेटा एक्सेस ऑब्जेक्ट) से बनी होती है, जो डेटा ट्रांसफर करती है। मैपर कार्यान्वयन का दायरा अलग-अलग होता है। जेनेरिक मैपर्स कई अलग-अलग डोमेन इकाई प्रकारों को संभालेंगे, समर्पित मैपर्स एक या कुछ को संभालेंगे।

कार्यान्वयन

अवधारणा का कार्यान्वयन कई प्रोग्रामिंग वातावरणों के लिए विभिन्न रूपरेखाओं में पाया जा सकता है।

जावा/नेट

  • MyBatis (मायबटिस) पर्सिस्टेंस फ्रेमवर्क
  • हाइबरनेट (एनहाइबरनेट) पर्सिस्टेंस फ्रेमवर्क

नोड.जेएस / टाइपस्क्रिप्ट

  • बुकशेल्फ़.जेएस लाइब्रेरी
  • टाइपओआरएम लाइब्रेरी
  • मैसिव.जेएस लाइब्रेरी
  • प्रिस्मा
  • आपत्ति.जेएस लाइब्रेरी
  • माइक्रोओआरएम लाइब्रेरी
  • आरडीएफ डेटा स्रोतों के लिए एलडीकिट ऑब्जेक्ट ग्राफ़ मैपर (ओजीएम)।

पीएचपी

  • एटलस (पीएचपी) ओआरएम (डेटा मैपर, टेबल डेटा गेटवे, क्वेरी बिल्डर और पीडीओ रैपर)[3]
  • डॉक्ट्रिन2 (पीएचपी) ऑब्जेक्ट रिलेशनल मैपर (ओआरएम) और डेटाबेस एब्स्ट्रेक्शन लेयर[4]
  • Cycle ओआरएम (पीएचपी डाटामैपर ओआरएम और डेटा मॉडलिंग इंजन)[5]

पर्ल

पायथन

  • एसक्यूएल अलकेमी लाइब्रेरी
  • mincePy लाइब्रेरी

रूबी

  • डेटामैपर लाइब्रेरी (दरअसल इस लाइब्रेरी ने एक्टिव रिकॉर्ड डिज़ाइन पैटर्न को लागू किया, इसके उत्तराधिकारी, डेटामैपर 2 (अब ROM) का उद्देश्य वास्तव में इसे लागू करना है डिजाइन पैटर्न के नाम पर रखा गया था)

अमृत

  • Ecto दृढ़ता ढांचा





यह भी देखें

संदर्भ

  1. Fowler, Martin (2003). एंटरप्राइज़ एप्लिकेशन आर्किटेक्चर के पैटर्न. Addison-Wesley. ISBN 978-0-321-12742-6.
  2. "What's the difference between Active Record and Data Mapper?".{{cite web}}: CS1 maint: url-status (link)
  3. "Atlas ORM – Atlas".
  4. "Doctrine2 and ActiveRecord – Doctrine2". Doctrine2. Archived from the original on 2013-07-21. Retrieved 2013-04-02.
  5. "Cycle ORM – Cycle". GitHub.
  6. "stack overflow – DBIx".