मैंने अभी एक blog post पढ़ा है जो एमवीसी को बैंकिंग समानता के साथ बताता है। मेरे पास एक एमवीसी फ्रेमवर्क (केकेपीएचपी) के साथ वेब अनुप्रयोग विकास के साथ कुछ महीनों का अनुभव है, इसलिए मुझे मूल बातें मिलती हैं, लेकिन मुझे एक ऐसी थीम देखना शुरू हुआ जिसने मुझे सोचा कि मैं एक दोषपूर्ण दृष्टिकोण ले रहा हूं जहां मैंने अपना तर्क रखा है:फैट मॉडल, पतला नियंत्रक और एमवीसी डिजाइन पैटर्न
- फैट मॉडल, पतला नियंत्रकों
- संभव
के रूप में मॉडल में के रूप में ज्यादा व्यापार तर्क रखें मेरी ऐप्लिकेशन में, मॉडल anorexic कर रहे हैं और नियंत्रकों मोटापे से ग्रस्त हैं। मेरे पास नियंत्रकों में सभी व्यावसायिक तर्क हैं और मॉडलों में संघों और सत्यापन नियमों के अलावा कुछ भी नहीं है।
- ऐप सूचियों, जो मदों को शामिल करना है, और आइटम स्थान पर रहीं जा सकता है: मेरी नियंत्रकों के माध्यम से
स्कैन, अब मैं तर्क का एक बहुत है कि शायद एक मॉडल में जाना चाहिए की पहचान कर सकते हैं। क्रमबद्ध तर्क में सूची रखने वाले सॉर्टिंग तर्क नियंत्रक में है।
- इसी तरह, आइटम (आइटम मॉडल) में छवियां भी हैं (छवि मॉडल)। प्रत्येक आइटम में एक डिफ़ॉल्ट छवि हो सकती है (आइटम तालिका में image_id द्वारा निर्दिष्ट)। जब कोई आइटम अपनी छवियों के साथ प्रदर्शित होता है, तो डिफ़ॉल्ट छवि पहले दिखाई देनी चाहिए। मेरे पास तर्क है जो इसे नियंत्रक में करता है।
- जब कोई सूची प्रदर्शित होती है, तो संबंधित सूचियां साइडबार में प्रदर्शित होती हैं। यह निर्धारित करने के लिए तर्क कि कौन सी सूचियां संबंधित हैं, नियंत्रक में हैं।
अब अपने सवालों के:
-
उदाहरण मैं ऊपर दे दी है, मैं यह सोच कर कि उन तर्क के उदाहरण वर्तमान में एक नियंत्रक कि एक मॉडल में अंतर्गत आता है में हैं में सही रास्ते पर हूँ के साथ
- ?
- तर्क के कुछ अन्य क्षेत्र क्या हैं, वेब ऐप्स के लिए आम हैं, जिन्हें मॉडल में जाना चाहिए?
- मुझे यकीन है कि इस समस्या की पहचान करना और मेरा डिजाइन पैटर्न बदलना आधा युद्ध है, लेकिन अगर मैं उन उदाहरणों को लेने का फैसला करता हूं तो मैंने ऊपर दिया और उस तर्क को मॉडल में स्थानांतरित करने का प्रयास किया, मुझे नहीं पता कि कहां से शुरू करना है । क्या कोई मुझे यहां कुछ कोड पोस्ट करके सही दिशा में इंगित कर सकता है, या कुछ अच्छे शिक्षण संसाधनों से जुड़ सकता है? केकेपीएचपी विशिष्ट मदद बहुत अच्छी होगी, लेकिन मुझे यकीन है कि कुछ भी एमवीसी पर्याप्त होगा।
इसके बारे में पहले सुना है :) – Marco