: कैसे एक टाइटेनियम मोबाइल परियोजना को व्यवस्थित करने का एक बुनियादी struct टाइटेनियम मोबाइल प्रोजेक्ट के लिए उचित एमवीसी समाधान नहीं ढूंढ रहा, मैं निम्नलिखित दृष्टिकोण के साथ आया। छोटे ऐप्स के लिए यह अधिक इंजीनियर हो सकता है लेकिन बढ़ते अनुप्रयोगों को बनाए रखने में मदद कर सकता है।
फ़ोल्डर संरचना:
/Resources
/model
/view
/controller
/ui
/iphone
/android
app.js
app.jss
अलग विचारों, मॉडल और नियंत्रकों एक नाम स्थान की जरूरत है के लिए, तो हम जो हमारे मुख्य नियंत्रक है app.js में परिभाषित,:
var app = {
view: {},
controller: {},
model: {},
ui: {}
}
के भीतर फ़ोल्डर्स हम प्रत्येक घटक के लिए एकल जावास्क्रिप्ट फाइलें डालते हैं। इसके लिए हम या तो हल्के जावास्क्रिप्ट ओओपी लाइब्रेरी का उपयोग कर सकते हैं, जैसे कि म्यूटूल या प्रोटोटाइप या हमारे ऑब्जेक्ट्स के रूप में सरल जेएस फ़ंक्शंस को परिभाषित करें। यदि आप मूल कक्षाओं से भी उत्तराधिकारी बनना चाहते हैं, तो पुस्तकालय निश्चित रूप से समझ में आता है।
उदाहरण:
# Resources/controller/MyController.js
app.controller.MyController = function() {
return {
getView: function() {
return new app.view.MyView().getView();
}
}
}
# Resources/view/MyView.js
app.view.MyView = function() {
return {
getView: function() {
return Ti.UI.createWindow({...});
}
}
}
# Resources/view/MyModel.js
app.model.MyModel = function() {
return {
some: "data",
foo: "bar"
}
}
उसके बाद हम Ti.include() app.js फ़ाइल में साथ सभी आवश्यक मॉडल/देखें/नियंत्रक वर्ग शामिल हैं और हमारे नाम स्थान के साथ घटकों देख सकते हैं:
Ti.include("controller/MyController.js");
Ti.include("view/MyView.js");
var myController = new app.controller.MyController();
var myView = myController.getView();
myView.open();
एमवीसी दृष्टिकोण अब यह मान लेगा कि नियंत्रक दृश्य की स्थिति को नियंत्रित करता है और मॉडल से डेटा को दृश्य में पास करता है। दृश्य में केवल यूआई तत्वों और स्टाइल के लिए गुण होते हैं। यूआई में बनाई गई कोई भी क्रिया एक घटना को आग लगती है, जो नियंत्रक को वांछित कार्रवाई करने के लिए कहती है।
लेकिन ज़ाहिर है, MVC की सटीक परिभाषा अपने व्यक्तिगत स्वाद के अनुसार अलग हो सकता है;)
महान प्रश्न। –
हालांकि सवाल प्रासंगिक रहता है, ध्यान दें कि कुछ उत्तरों पुराने हो रहे हैं: अब तक कुछ पैटर्न जो ट्यूटोरियल्स और आधिकारिक दस्तावेज़ों में उल्लिखित हैं - यहां तक कि पुराने पुराने नमूना ऐप किचनसिंक (चूहे के घोंसले के उर्फ राजा) को भी दोबारा संशोधित किया गया है वर्तमान अच्छे अभ्यास को बेहतर ढंग से प्रतिबिंबित करने के लिए। @jhaynie, मैं बयान के साथ का तर्क था कि टाइटेनियम ही अनिवार्य रूप से MVC है: – conny