मुझे पता है कि हर कोई एक संपूर्ण वास्तुकला का उपयोग करता है जब एक MVC आवेदन के विकास कर रहा हूँ लेकिन मैं निम्नलिखित वास्तुकला है मान लें समझना: हमारे MVC अंदरनई वेब एपीआई दृष्टिकोण
App.Core --> Class Library (POCO or Domain objects)
App.Data --> Class Library (Repository and Entity Framework)
App.Service --> Class Library (Service layer with all business logic)
App.Web --> asp.net MVC 3.0 project
App.Data --> Has a reference to App.Core
App.Service --> Has a reference to App.Core and App.Data
App.Web --> Has a reference to App.Core and App.Service
आवेदन हम इस दृष्टिकोण का पालन करने का प्रयास करते हैं:
- हमारे नियंत्रक (विधि के भीतर) के अंदर, हम एक व्यूमोडेल को तुरंत चालू करते हैं।
- हम को भरने कि ViewModel बुला हमारे App.Service लेयर
- एक बार ViewModel भर जाता है से तरीकों, हम इसे देखें (ताकि दृश्य अब दृढ़ता से लिखा गया) पर वापस जाएँ।
यह 99.9% समय होता है। यह साफ है, हम इसे पसंद करते हैं और यह खुद को बहुत अच्छी तरह से लाभ देता है .. आदि!
अब मेरे सवाल है निम्नलिखित:
हम MVC 4.0 के लिए हमारे आवेदन के लिए कदम और नई वेब एपीआई दृष्टिकोण का उपयोग शुरू करने के लिए निर्णय लेते हैं, मुझे यकीन है कि मैं पूरी तरह से समझते जहां नहीं कर रहा हूँ (या कैसे) यह हमारे वर्तमान वास्तुकला में फिट होगा?
ध्यान रखें, कि हम इसे बदलने के लिए खुले हैं!
क्या हमें ऐप। सेवा और ऐप के बीच बैठने वाली एक नई ऐप.WebAPI परत बनाना चाहिए? इसका मतलब हमारे नियंत्रकों के अंदर है, हमें अब ऐप सेवा को कॉल करने की आवश्यकता नहीं होगी बल्कि इसके बजाय नई ऐप। वेबएपीआई परत?
या, ऐप। वेब परत के अंदर वेब एपीआई छोड़ दें और नियंत्रक अन्य एपीआईसींट्रोलर को कॉल करें जो बदले में ऐप. सेवा परत को कॉल करेगा?
सुनिश्चित नहीं है कि मैं यहां कोई समझ लेता हूं ... लेकिन कृपया कुछ भी सुझाव देने के लिए स्वतंत्र महसूस करें क्योंकि मैं विभिन्न इनपुट पर उत्सुक हूं।
धन्यवाद
मेरा मानना है कि आपका दूसरा दृष्टिकोण वह है जिसे हम ढूंढ रहे हैं। ध्यान में रखते हुए हमारे पास अन्य ग्राहक हो सकते हैं (आईपैड, आईफोन, इत्यादि ...)। तो निष्कर्ष यह है कि एमवीसी और वेब एपीआई दोनों एक ही परत के भीतर बैठें। उन्हें दोनों सेवा परत (जो व्यापार तर्क धारण करता है) के साथ बातचीत करें और बदले में, किसने बुलाया है, इस पर आधारित विभिन्न व्यू मॉडेल भरें। क्या वो सही है? – Vlince
@ विल्न्स, बिल्कुल। आपने बहुत संक्षेप में इसका सारांश दिया है। –
सहायता के लिए धन्यवाद :-) – Vlince