2017-06-23 26 views
6

चूंकि मैं ज़ैमरिन रूपों में नया हूं, इसलिए मुझे के बारे में पता नहीं है एक अच्छी फ़ोल्डर संरचना में अपने एक्समरिन फॉर्म प्रोजेक्ट की व्यवस्था कैसे करें?ज़ैमरिन फॉर्म प्रोजेक्ट्स के लिए एक अच्छी फ़ोल्डर संरचना

उदाहरण के लिए। मैं एक परियोजना है जो निम्न फ़ाइलें हैं है:

  1. नेटवर्क बुला
  2. डेटाबेस से निपटने
  3. दृश्य कृतियों
  4. मॉडल-दृश्य बाइंडिंग
  5. उपयोगिताएँ आदि

नोट: Xamarin फॉर्म में Xamarin.iOS और Xamarin.Android समाधान फ़ोल्डर्स और उपरोक्त उल्लिखित फ़ाइलें हैं एंड्रॉइड और आईओएस दोनों के लिए आम हो सकता है।

उत्तर

7

ठेठ आवेदन परतें

  • डेटा स्तर - गैर वाष्पशील डेटा हठ, संभावना एक SQLite डेटाबेस होने के लिए लेकिन एक्सएमएल फाइल या किसी अन्य उपयुक्त तंत्र के साथ लागू किया जा सकता।
  • डेटा एक्सेस लेयर - डेटा लेयर के चारों ओर लपेटें जो कॉलर को कार्यान्वयन विवरण प्रकट किए बिना डेटा को बनाएं, पढ़ें, अपडेट करें, हटाएं (सीआरयूडी) तक पहुंच प्रदान करता है। उदाहरण के लिए, डेटा में क्वेरी या अद्यतन करने के लिए डीएएल में SQL कथन शामिल हो सकते हैं लेकिन संदर्भ कोड को यह जानने की आवश्यकता नहीं होगी।
  • बिजनेस लेयर - (कभी-कभी बिजनेस लॉजिक लेयर या बीएलएल कहा जाता है) में व्यावसायिक इकाई परिभाषाएं (मॉडल) और व्यावसायिक तर्क शामिल हैं। व्यापार मुखौटा पैटर्न के लिए उम्मीदवार।
  • सेवा एक्सेस लेयर - क्लाउड में सेवाओं तक पहुंचने के लिए प्रयुक्त: जटिल वेब सेवाओं (आरईएसटी, जेएसओएन, डब्ल्यूसीएफ) से दूरस्थ सर्वर से डेटा और छवियों की सरल पुनर्प्राप्ति के लिए। नेटवर्किंग व्यवहार को समेकित करता है और एप्लिकेशन और यूआई परतों द्वारा उपभोग करने के लिए एक सरल एपीआई प्रदान करता है।
  • आवेदन परत - कोड आम तौर पर मंच विशिष्ट (नहीं आम तौर पर प्लेटफार्मों भर में साझा) या कोड है कि है कि आवेदन (आम तौर पर पुन: प्रयोज्य नहीं) के लिए विशिष्ट है। यूआई लेयर बनाम एप्लिकेशन लेयर में कोड डालना है या नहीं, इसका एक अच्छा परीक्षण है (ए) यह निर्धारित करने के लिए कि कक्षा में कोई वास्तविक प्रदर्शन नियंत्रण है या नहीं (बी) चाहे इसे कई स्क्रीन या डिवाइस (जैसे आईफोन और आईपैड) के बीच साझा किया जा सके।)।
  • उपयोगकर्ता इंटरफ़ेस (UI) परत - उपयोगकर्ता के सामने वाली परत में स्क्रीन, विजेट और नियंत्रक हैं जो उन्हें प्रबंधित करते हैं।

enter image description here

इन परतों में से प्रत्येक के एक व्यक्ति Solution Folder प्रतिनिधित्व करता है। और प्रत्येक Layer भी होना चाहिए एक अलग ClassLibrary(Portable) (Encapsulation देखें)

इसके अलावा इस दस्तावेज में पढ़ने लायक:

Encapsulation, जिम्मेदारियों की पृथक्करण, बहुरूपता

Xamarin Developer Guide - Achitecture

से लिया

मुझे कुछ और जानकारी मिली here.

1

साझा परियोजनाओं या पोर्टेबल क्लास पुस्तकालयों का उपयोग करके विकल्प बेहतर है, पर एक पूर्ण सहमति नहीं है, लेकिन वे कोड साझा करने के विकल्प हैं।

व्यक्तिगत तौर पर मैं Miguel de Icaza, Xamarin नेतृत्व भर में अन्य एप्लिकेशन साझा परियोजनाओं बेहतर हैं अगर आप अपने कोड का हिस्सा नहीं है, लेकिन जैसा कि उन्होंने कहा Xamarin में कुछ लोगों को लगता है कि विपरीत के साथ सहमत हैं।

संबंधित मुद्दे