2010-02-10 15 views
8

एक PHP/वेब डेवलपर के रूप में, मैं एमवीसी (मॉडल-व्यू-कंट्रोलर) का एक बड़ा प्रशंसक हूं। मुझे एक ठोस नींव पर एक ऐप बनाने से प्यार है जो निश्चित रूप से व्यापार तर्क, प्रस्तुति तर्क, और नियंत्रण के प्रवाह को अलग करता है।डिजाइन पैटर्न? (एमवीसी विकल्प)

हालांकि, मैं सर्वर-साइड-केवल ऐप्स पर भी बहुत से काम करता हूं, जो केवल डेटा को संसाधित करता है और प्रक्रिया को लॉग करता है और किसी भी प्रासंगिक परिणाम (जैसे आयात स्क्रिप्ट, डेटा माइग्रेशन स्क्रिप्ट, वेब सेवाएं, टीसीपी सॉकेट सर्वर , आदि)। इन मामलों में एक बड़ी फैंसी एमवीसी ढांचे की कोई जरूरत नहीं है।

मुझे एहसास है कि एमवीसी अभी भी यहां लागू हो सकता है, लेकिन यह ओवरकिल जैसा लगता है। कच्चे प्रक्रियात्मक दृष्टिकोण या कक्षा वस्तुओं के यादृच्छिक मैश-अप के अलावा, क्या वहां कोई विशिष्ट आर्किटेक्चरल डिज़ाइन पैटर्न हैं जो विशेष रूप से डेटा प्रोसेसिंग, रन-वन और सर्वर डिमन प्रकार के अनुप्रयोगों के अनुकूल हैं?

+0

http://en.wikipedia.org/wiki/Architectural_pattern_(computer_science) सहायता का हो सकता है। – Amber

+0

आपने एक मृत लिंक दिया ... – Amirshk

+0

इसके बजाय http://en.wikipedia.org/wiki/Architectural_pattern_%28computer_science%29 आज़माएं। विकिपीडिया लिंक में ऐसे कोष्ठक शामिल हैं जो एसओ और अन्य चीजों के समूह के साथ कहर बरकरार रखते हैं, इसलिए उन्हें यूआरआई% 28 और% 2 के रूप में एन्कोड किया जाना चाहिए। –

उत्तर

1

के लिए फसाड राज्य मशीन अगर मैं सही ढंग से समझता हूं, तो जिन अनुप्रयोगों के बारे में आप बात कर रहे हैं उनमें शेल कमांड लाइन से परे उपयोगकर्ता इंटरफ़ेस नहीं है। यदि ऐसा है, तो आप अभी भी सॉफ्टवेयर आर्किटेक्चर स्तर पर एमवीसी का उपयोग कर सकते हैं - आपका दृश्य बस छोटा होगा। आपका नियंत्रक समान रूप से छोटा होगा, क्योंकि मॉडल और दृश्य के बीच प्रचार करने के लिए बहुत कम कार्य हैं।

बेशक, एक छोटे से दृश्य और नियंत्रक के साथ यह भी कोई पैटर्न नहीं हो सकता है। मुझे इसके साथ कोई समस्या नहीं दिखाई दे रही है (जिस स्तर पर आप बात कर रहे हैं)। कुंजी इंटरफ़ेस-आधारित दृष्टिकोण (जितना आप एमवीसी के साथ करेंगे) लेना है और यह अंत में बेहतर डिज़ाइन प्रदान करेगा; एक जिसे आसानी से किसी भिन्न उपयोगकर्ता इंटरफ़ेस या भविष्य में आवश्यक होने पर आमंत्रण के साधनों के अनुकूल बनाया जा सकता है।

+0

धन्यवाद स्टीवन, यह बहुत अच्छी सलाह है। –

+0

विशेष रूप से, आप एमवीसी के दायरे के बारे में एक अच्छा बिंदु बनाते हैं जो अत्यधिक अनुकूल है। –

+0

वैसे - क्या आपको सुझाव दिया गया है कि "इंटरफ़ेस-आधारित दृष्टिकोण" को कार्यान्वित करने के तरीके के बारे में कोई विशिष्ट विचार होगा, मान लीजिए कि मैं पतली एमवीसी डिज़ाइन से बचना चाहता था लेकिन मेरा शुद्ध-प्रक्रियात्मक कोड थोड़ा बेहतर बनाना चाहता था ? –

1

मैं आप अपने आप को पूछ क्या समस्या को हल करना चाहते हैं द्वारा शुरू करने की आवश्यकता लगता

बार जब आप इस पता है, तुम यहाँ कुछ उपयोगी लग सकते (इन पैटर्न आप देख रहे हैं के साथ):

http://martinfowler.com/eaaCatalog/

1

चूंकि यह डेटा प्रोसेसिंग से संबंधित है, मुझे लगता है कि आपके पास कुछ प्रकार की डेटा स्टोर है, आप रिपोजिटरी और डीटीओ (डेटा ट्रांसफर ऑब्जेक्ट) आर्किटेक्चरल पैटर्न देख सकते हैं। एक बार रन

अधिक सामान्य रूप से, GOF सूची में डिजाइन पैटर्न में से कुछ भी आप इस तरह के सिंगलटन के रूप में के लिए सूट, संसाधन तर्क सार संक्षेप, विभिन्न संसाधन तर्क के लिए रणनीति के लिए, हो सकता है डेमॉन

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