2011-06-07 5 views
5

मैं इस समय अपने बहु-डिवाइस प्रोजेक्ट के लिए "कोर" बनाने की कोशिश कर रहा हूं। पूर्व -मल्टी-डिवाइस आर्किटेक्चर

परियोजना के बारे में सब एक वेब अनुप्रयोग है कि फेसबुक लॉगइन द्वारा उपयोगकर्ता प्रमाणित करता है, और उसके बाद नए कार्य वे क्या कर सकते हैं का एक सेट को उजागर करता है। डेटाबेस उनके फेसबुक आईडी से संबंधित thats में सभी रिकॉर्ड जाओ आदि

कोर निम्नलिखित उपकरणों के द्वारा समझा जाना चाहिए:

  • पीसी
  • IPhone
  • एंड्रॉयड
  • विंडोज फोन 7

अब आप कोर कैसे बनायेंगे?

  1. आप इसे एक WCF सेवा है कि रिटर्न JSON होगा?

  2. क्या आप इसे नियंत्रकों का एक समूह बनाते हैं जो JSON लौटाता है?

  3. और आप कैसे सुनिश्चित करेंगे कि उपयोगकर्ता कोर पूछताछ करते समय उपयोगकर्ता कहता है? क्या मुझे एक्सेस के साथ पास करना चाहिए जो हर बार फेसबुक द्वारा उत्पन्न किया जाता है?

जैसा कि आपने देखा होगा, मुझे बिल्कुल यह नहीं पता कि यह कैसे करना है।

अग्रिम धन्यवाद।

+1

[बहु डिवाइस आर्किटेक्चर के लिए एक एकीकृत डिज़ाइन कैसे सोचें?] (Http://izlooite.blogspot.com/2011/07/how-to-think-unified-design-for-multi.html) –

उत्तर

4

सुनिश्चित नहीं हैं कि अगर मैं अपने प्रश्न सही ढंग से समझ, लेकिन ...

सबसे पहले, आप को परिभाषित करना होगा, या शायद तय, "कोर" क्या है? या कोर क्या होना चाहिए - Core कार्यक्षमता क्या होगी। आदर्श रूप में, जब हम कोर कहते हैं, तो इसका अनिवार्य रूप से मतलब है, परत जो मूल या परमाणु संचालन करता है

कि कोर आपको लगता है कि एक प्रश्न बनाता डिवाइस रैपर (IPhone, पीसी, आदि) अंडे कर सकते हैं से अधिक उदाहरण के लिए, कोर के लिए भेजा जाना।

आप डेटा परत बनाने के लिए डब्ल्यूसीएफ डेटा सेवा का उपयोग कर सकते हैं। और आपका कोर व्यवसाय संचालन/आदि कर सकता है, और डेटा सेवा के साथ संवाद कर सकता है।

उदाहरण के लिए, क्या मैं तुरन्त के बारे में सोच सकता है:

  1. एक कोर, कि महत्वपूर्ण कार्यों प्रदर्शन करती है - (DeviceAndriod, DeviceIPhone, DeviceWeb, आदि) isntance dataLayer
  2. DeviceWrapper से बात कर के लिए, जो विभिन्न उपकरणों को लपेटता है। उदाहरण के लिए, फैक्टरी/बिल्डर पैटर्न का मिश्रण। Device एस के कारखाने के बारे में सोचें, और विचारों के प्रकार के लिए बिल्डर।
  3. TextRenderer, डिवाइस सेटिंग्स के आधार पर, पाठ प्रस्तुत करता है।

एक तरीका यह हो सकता है, की सुविधा देता है फैसला:

Core, एक "पुस्तकालय" है कि बुनियादी कार्रवाई होगी:

  • प्रमाणीकरण
  • प्राधिकरण
  • रिकॉर्ड करें
  • कार्य करें 1
  • प्रदर्शन कार्रवाई 2

इसलिए,

  • कदम 1: एक नियंत्रक कि प्रमाणित/प्राधिकरण प्रदान करेगा लिखें; उदाहरण के लिए, Core.Authenticate(), और Authorize() पर कॉल करें;

  • कदम 2: user agent कॉल ICore.RenderView (agentType) के आधार पर, यह आपके दृश्य/HTML प्रदान करने वापस आ सकते हैं।

उपयोगकर्ता कोई कार्रवाई कर सकता है, आपका नियंत्रक Core.PerformAction() पर कॉल कर सकता है; जो बदले में पृष्ठ पर लिंक को रीडायरेक्ट करने के लिए वापस कर सकता है, उदाहरण के लिए।

--UPDATED--

यह अद्यतन अपनी टिप्पणी के जवाब में है।

अब, इस (आपकी टिप्पणी) मामले में, आप क्लाइंट समाप्त होने के बारे में बात कर रहे हैं।

थोड़ा सा साफ़ करने दें। सर्वर है और ग्राहक पक्ष हैं।

  1. कैसे अलग उपयोगकर्ता एजेंट का अनुरोध सर्वर द्वारा कार्रवाई की जाएगी:

    अब तक, हम के बारे में सर्वर ओर, जो मुख्य रूप से संबंधित है बात कर रहे थे।

  2. विभिन्न उपकरणों के संबंध में टेक्स्ट कैसे प्रस्तुत किया जाएगा।

क्लाइंट समाप्त होता है हो सकता है:

  1. एक वेब ब्राउज़र है, इस मामले में आप किसी भी ग्राहक अनुप्रयोग की जरूरत नहीं है विकसित किया जाना
  2. ए, का कहना है की सुविधा देता है, के लिए सिल्वरलाइट अनुप्रयोग विंडोज फोन
  3. एंड्रॉइड फोन
  4. के लिए एक एंड्रॉइड ऐप तो आगे।

यह तय करें कि यह "क्लाइंट ऐप" क्या करेगा। उदाहरण के लिए, आपके मामले में:

  • उपयोगकर्ता एफबी आईडी के माध्यम से लॉगिन करेगा।
  • उपयोगकर्ता कुछ संचालन करने में सक्षम होंगे।

ध्यान दें कि, आप स्मार्ट ग्राहकों (वेब ​​सेवाओं, बल्कि asp.net वेब पृष्ठों की तुलना में उपयोग करते हुए) पर विचार कर सकते।

इसके अलावा, डब्ल्यूसीएफ में type hinting बड़े संग्रहों के लिए JSON प्रतिक्रिया में अनावश्यक ओवरहेड जोड़ सकता है। इसलिए, यदि आप दूरस्थ रूप से भी मानते हैं कि उस समय किसी बिंदु पर कई प्रकार के एंड-पॉइंट (SOAP, आदि) चाहते हैं, तो डब्ल्यूसीएफ जाने का रास्ता है।

+0

ऐसा लगता है मुझे मेरी पोस्ट में एक बहुत ही महत्वपूर्ण बात याद आई। आईफोन, एंड्रॉइड और WP7 विशिष्ट मोबाइल प्लेटफ़ॉर्म के लिए ऐप्स होना चाहिए। तो मूल रूप से मैं प्रत्येक मोबाइल मंच के लिए एक ऐप बनाना चाहता हूं, और एक पीसी के लिए। मेरा विचार पहले एमवीसी नियंत्रकों का एक समूह बनाने के लिए था, जो मैं चाहता हूं, और जेएसओएन में परिणाम लौटा दूंगा ताकि प्रत्येक ऐप इसे स्वरूपित कर सके। – ebb

+0

कृपया अपनी टिप्पणी के जवाब में मेरा संपादन देखें। –

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