6

我是 appcelerators Titan 和 javascript 的新手,我对编写 iphone 应用程序很感兴趣。我认识到创建 UI 需要“许多”代码。到目前为止这没有问题,但我倾向于明智地将该代码与我的应用程序逻辑分开。最佳做法是什么?

[更新] tweetanium是一个很好的例子,如何构建一个钛移动应用程序

4

2 回答 2

4

好的,我刚刚找到了一个很酷的做法。

我将 con_file.js 与应用程序逻辑包含在 view_file.js 中

Titanium.include('../controller/con_file.js');

现在我可以访问洞数据结构了。

于 2010-09-09T12:23:57.240 回答
4

我会试一试:

我倾向于使用mvc 模式来开发我的应用程序,因为在一个 js 文件中实现所有东西非常难看。所以我决定使用一个文件用于视图和所有与外观有关的东西,一个文件用于数据库处理(控制器),特别是 sql 语句,以及一个用于抽象数据类型的文件(模型)。

一个简短的例子:

视图: viewConcerningObject.js

Ti.include('object.js');

var win = Ti.UI.currentWindow;
var myObject = new object();

var myObjectName = Ti.UI.createLabel({
   text:myObject.getName();
});

win.add(myObjectName);

模型: object.js

Ti.include('controllerConceringObject.js');

function object(){
   this.name = 'myInitialName';

   this.getName(){
      return this.name;
   };

   this.setName(newName){
      this.name = newName;
   };

   this.updateNameFromDb(){
      this.name = getNameFromDatabase();
   };

}

控制器: controllerConcerningObject.js

function getNameFromDataBase(){
   var db = Ti.Database('objects');
   var sql = 'SELECT name FROM objects';
   var recordset = db.execute(sql);
   var name  = recordset.field(0);
   recordset.close();
   db.close();
   return name;
};

所以文件夹结构可能是这样的:

myProject:文件夹视图(viewConcerningObject.js),文件夹模型(Database.db,object.js),文件夹控制器(controllerConcerningObject.js)。

于 2011-01-19T08:40:23.100 回答