extjs - सेंचा वास्तुकार के साथ वास्तविक दुनिया परियोजना संरचना




sencha-architect (2)

मैं सेन्चा एक्स्टजेएस और आर्किटेक्ट एमवीसी के लिए नया हूँ, लेकिन मुझे सामान्यतः एमवीसी और कुछ अन्य जेक्यू लाइब्रेरी हैं।

मैं एक वास्तविक दुनिया प्रणाली का निर्माण करते समय पूछना चाहता हूं, आर्किटेक्ट 2 में सेन्का ऐप संरचना को लेआउट के लिए उचित दृष्टिकोण क्या है?

उदाहरण के लिए, हमारे पास हमारे एप में निम्नलिखित विभाग हैं, उनके पास अलग-अलग कार्यविधियां हैं:

Accounting, Controlling, Quality Assurance, Customer Services, Human Resources, Logistics, Purchasing, Sales, Records Management ...

दृष्टिकोण 1: उन्हें विभिन्न सेन्चा आर्किटेक्ट परियोजनाओं में लिखें। मास्टर लेआउट पृष्ठ + मुख्य क्षेत्र + शीर्षलेख / पाद लेख + साइड बार पेज के साथ सिलाई करें (हमारे मामले में MVC.NET का प्रयोग करके)

--- पेशेवरों:

  • कई प्रोग्रामर एक चुस्त वातावरण में विभिन्न उप-परियोजनाओं पर काम कर सकते हैं।

  • प्रत्येक प्रोजेक्ट छोटा या अपग्रेड करना या प्रतिस्थापित करना आसान है।

--- विपक्ष:

  • हमारे पास अलग सेन्चा आर्किटेक्ट परियोजनाएं हैं, जैसे मुख्य क्षेत्रों, साइड बार, हैडर, पादलेख वे एक दूसरे के साथ कैसे सहयोग करते हैं? अब हम केवल उनके बीच जानकारी रखने के लिए JQuery का उपयोग करते हैं, लेकिन ऐसा लगता है कि यह हैक की तरह

दृष्टिकोण 2: उन्हें एक बड़े सेचा आर्किटेक्ट प्रोजेक्ट में लिखें। इसलिए, यह एक एकल app.html पृष्ठ में इसमें सब कुछ के साथ sarts।

--- पेशेवरों:

  • अब परियोजना में हर घटक एक दूसरे के साथ सहयोग कर सकते हैं

  • एक सच्चे एकल पेज-ऐप ऑल-इन-वन ऐप.html अच्छा लग रहा है।

--- विपक्ष:

  • अगर कई प्रोग्रामर एक सेचा आर्किटेक्ट परियोजना पर काम कर रहे हैं तो कठिन समय आ गया है।

  • यह एप्लिकेशन का एक बड़ा जटिल टुकड़ा है यद्यपि यह सरल ऐप, स्टोर, एम, वी, सी श्रेणियों में अलग है, लेकिन हमारे पास एक बड़ी परियोजना में घटकों पर नाम दुर्घटना हो सकती है।

  • लोडिंग की समस्या एक समस्या हो सकती है? मैं बस यहाँ अनुमान लगा रहा हूँ क्योंकि हमें नहीं पता है कि क्या सेचा वास्तुकार एमवीसी डिजाइन प्रासंगिक खिड़कियां और भाग को एक साथ भाग या सब कुछ से जोड़ता है।

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


Answers

सबसे पहले मैं कहूंगा कि इस समस्या के बारे में आपकी सोच सभी सही तरीकों से है। आपके पेशेवर और विपक्ष मौके पर हैं

पूर्ण प्रकटीकरण के लिए दूसरा मैं सेचा आर्किटेक्ट टीम के एक इंजीनियर हूं।

मेरा सुझाव है कि अलग-अलग परियोजनाएं हैं जो अधिक सुस्ती से युग्मित हैं और संभवत: एक पोर्टल / डैशबोर्ड एप्लिकेशन द्वारा जुड़ा हुआ है। वास्तुकला में एक्स्ट जेएस सहित कुछ भी में गोंद ऐप लिखा जा सकता है।

इसका कारण यह है कि मैं अपने सभी अंडे को एक टोकरी में डालकर नहीं पसंद करता हूं और यदि आपने एकल पृष्ठ एप्लिकेशन बनाया है तो आपको पता चल जाएगा कि जब वे काम कर रहे हैं, तो वास्तव में हम लेकिन जब एक बेतरतीब जावास्क्रिप्ट अपवाद होता है, तो यह उस उपयोगकर्ता को खुश स्थिति में वापस लाने के लिए पूर्ण ताज़ा करने के लिए मजबूर कर सकता है। बेशक अगर आप सही हो तो ऐसा कभी नहीं होगा: पी सही कौन है?

मैं वास्तुकार का निर्माण करता हूं जो वास्तव में एक बहुत बड़ा एकल पृष्ठ अनुप्रयोग है। एक टीम के रूप में हम सभी को हर संभव प्रयास करते हैं कि हर सिस्टम को किसी भी अन्य सिस्टम (सिस्टम) पर यथासंभव कम निर्भरता के साथ काम करने में सक्षम हो। हम इवेंटिंग, पब / उप, एडेप्टर और प्लगइन पैटर्न आदि जैसी चीजों का उपयोग करते हैं ...

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

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

अन्य उपयोगकर्ताओं ने इस दृष्टिकोण को लिया है और ऐसा ही एक उपयोगकर्ता एक प्रबंधित आईफ्रेम दृष्टिकोण का उपयोग करके अपने सभी परियोजनाओं को एक साथ रेखांकित करता है http://www.sencha.com/forum/showthread.php?243179

Asp.Net MVC एक और अच्छा दृष्टिकोण है और आप उपयोगकर्ता एथेट आदि जैसी कुछ विशेषताएं खरीद सकते हैं ...

उम्मीद है कि यह मदद करता है!


दायरे में परिभाषित कार्यों को कॉल करने के लिए, आपको वाक्यविन्यास का उपयोग करने की आवश्यकता है:

{[this.functionName(values.valueName)]}

आपके मामले में, आप कॉल कर सकते हैं:

'<img src="{[this.getThumbUrl(values.rawThumbUrl)]}"/>',

यदि आप टेम्पलेट संदर्भ के बाहर परिभाषित फ़ंक्शन का उपयोग करना चाहते हैं, तो इसे हटा दें this. फ़ंक्शन कॉल से।