Saturday, July 12, 2008

Extjs使用与开发 - 面向对象编程

Extjs 是一款优秀的开源javascript+ajax框架,使用它你不但可以创建有丰富用户交换功能的网页(web-based rich client)应用,而且,你也可以通过它来实现面向对象编程,使得自己的代码具有高度的复用性(usability)。

也 许很多程序员不了解javascript的面向对象编程OOP,认为它跟C++或者Java相比,并不具有完全面向对象的能力 。其实,你完全可以运用许多面向对象的技术到javascrpt中,并使你的页面程序具备强大的能力。我最近就开始使用Extjs来为一套Web- based CRM(客户关系管理)系统开发一个强大而友好的操作界面,并且通过扩展Extjs创建新对象并重用到不同的功能中。下面就是一个例子。

首先,我打算创建一个对象Object,叫做EvaluationMasterScreen。这是一个带有下面这些东西的输入屏幕:

  • 一个用户数据输入表单form
  • 一个容器面板panel
  • 一些读取服务器上数据的store
  • 一些自带参数properties

我确定这是一个很简单的对象,可以扩展Ext.component对象

EvaluationMasterScreen = Ext.extend(Ext.Component, {

//自定义参数
locale: 'en',
allowSave: false,
allowDelete: false,

//初始化函数
initComponent: function(){
... ...

},

//表单下拉的数据,在服务器上读取
gradesStore: new Ext.data.Store({
... ...
})
});

基本的结构就是这样子,是不是很简单。这样就定义了一个用于产生一个标准屏幕的对象,当你想创建这个对象的实例时,

var evaluationScreen = new EvaluationMasterScreen({
id: 'evaluation-master-screen',
objectId: id,
locale: locale,
allowSave: myPermissions.check('candidate','save'),
allowDelete: false
});

创建将调用初始化函数,并赋予实例参数值。

No comments: