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

From Vigyanwiki
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> इस पैटर्न के अनुरूप किसी ऑब्जेक्ट के इंटरफ़ेस में क्रिएट, रीड, अपडेट और डिलीट जैसे फ़ंक्शन शामिल होंगे, जो उन ऑब्जेक्ट पर काम करते हैं जो डेटा स्टोर में डोमेन इकाई प्रकारों का प्रतिनिधित्व करते हैं।




Line 21: Line 21:


=== पीएचपी ===
=== पीएचपी ===
* एटलस (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>




Line 31: Line 31:


=== पायथन ===
=== पायथन ===
* [[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]) का उद्देश्य वास्तव में इसे लागू करना है डिजाइन पैटर्न के नाम पर रखा गया था)


=== अमृत ===
=== अमृत ===

Revision as of 21:39, 29 June 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".