日期:2014-05-16  浏览次数:20383 次

extjs类系统
1 ,类系统Class System
extjs4.0开始,重构了新的类系统。本教程分为以下四部分:
(1) 概述,介绍强大类系统的必要性。
(2)命名习惯,阐述extjs命名类,方法,属性,变量和文件的最佳实践。
(3)动手实践,提供详细的一步步的编码例子。
(4) 错误处理和调试。阐述异常处理技巧。

(1) 概述,介绍强大类系统的必要性。
EXTJS4.0有超过300个类。
JavaScript is a classless, prototype-oriented language. Hence by nature, one of the language's most powerful features is flexibility
JS可以采取很多不同的方式,不同的编码风格和技术完成同样的工作。但是也正是这种特性会导致无法预料的代价。没有一个统一的架构,JS代码会非常难理解,维护和重用。
基于类的编码方式仍然是面向对象中最受欢迎的。但是OOP不具备JS等语言的动态特性。
Each approach has its own pros and cons,

每一种方法都有它的优缺点。EXTJS4.0将JS和OOP的优点结合起来啦。

(2) 命名习惯
在编码中对类,变量等使用统一的命名习惯,可以使代码蛮得有组织,结构化和可读性好。。
a, 类
类名最好只包括字母,数字虽然也可以,但是EXTJS不推荐这样做。最好不要采用下划线,联字符或者其他非字母字符。

比如说:MyCompany.useful_util.Debug_Toolbar is discouraged
? ? ? ? MyCompany.util.Base64 is acceptable

类名必须采用合适的命名空间以包的形式组织起来。命名空间必须唯一。
MyCompany.data.CoolProxy
MyCompany.Application
只有最上层以及类名应该使用CamelCased,其他的都应该全小写:
MyCompany.form.action.AutoLoad

不是EXT官方发布的类严禁使用Ext作为顶级命名空间。

首字母缩写同样也应该遵守CamelCased惯例。

Ext.data.JsonProxy instead of Ext.data.JSONProxy
MyCompany.util.HtmlParser instead of MyCompary.parser.HTMLParser
MyCompany.server.Http instead of MyCompany.server.HTTP

b,源文件
类的名字应该是可以直接映射到它们存储的文件路径,因此必须一个文件只包含一个类。如:
  • Ext.util.Observable?is stored in?path/to/src/Ext/util/Observable.js
  • Ext.form.action.Submit?is stored in?path/to/src/Ext/form/action/Submit.js
  • MyCompany.chart.axis.Numeric?is stored in?path/to/src/MyCompany/chart/axis/Numeric.j

path/to/src代表工程的类目录。所以类都应该位于这个根目录下。,


(3)方法和变量,类的属性
方法和变量、类的属性命名和类一样,最好也只包括字母字符 。方法和变量命名必须camelCased 。如:
  • ?encodeUsingMd5() ?可以接受的;
  • getHtml() 而不是getHTML()?
  • parseXmlContent() 而不是parseXMLContent()
  • var isGoodName var base64Encoder var xmlReader var httpServer ? 第一单词小写
注意:类的属性如果是静态常量的时候,必须全部大写。
    • Ext.MessageBox.YES = "Yes"
    • Ext.MessageBox.NO = "No"
    • MyCompany.alien.Math.PI = "4.13"

3、动手实践
(1) 传统方法
extjs4.0以前版本中创建一个类一般是从Ext.extend()方法开始的。
var MyWindow = 


                        
友情链接: 爱易网 云虚拟主机技术 云服务器技术 程序设计技术 开发网站 APP开发教程
Copyright © 2013-2024 爱易网页 当前在线:1650人  网站在17时7分35秒内访问总人数:279218人 当前 100.00%  粤ICP备18100884号-2