深入学习ExtJS4.2(2)类体系

今天学习一下Ext4中的类,它相对于3做了很大程度上的重构,所以习惯了Ext3的人猛然写4的代码会感觉到十分的不适应吧。

Ex4中涵盖了200多个类,开发它的人员数以万计,而且这些人员是来自世界各地、有着不同编程背景的人。所以Ext4开发初始,为了要统一编程风格,就面临着这几个问题:

  • 这种风格要让大家感觉非常熟悉,并且学习起来轻松
  • 开发要快速,调试要简单,部署要便捷
  • 组织性,扩展性,维护性都要好

JavaScript这门语言还是比较特殊的。它不能算作面向对象的语言,是基于原型的一种弱类型的解释性语言。所以它很灵活,它也可以用多种方式去完成一项任务。但这种松散类型的语言也带来了一个很大的问题,如果我们不好好组织构建代码,那么写出的JS脚本会很难让别人去读懂。Ext4则提出了许多比较好的解决方案。

  1. 命名规则
  • Class

类名第一个字母大写,以后采用驼峰命名法。并且包裹类的包名要用小写,如下所示

MyCompany.useful_util.Debug_Toolbar i  //类名最好不要带下划线 ;
MyCompany.util.Base64   //is acceptable;
MyCompany.data.CoolProxy;
MyCompany.Application;
MyCompany.form.action.AutoLoad;
  • SourceFile源文件

类的名称跟他们的贮存位置应该也是相对应的,比如

其中path/to就是你应用程序的根目录了。

  • 方法、变量和属性

方法和变量也要遵循驼峰命名法,首字母应该小写,并且不推荐使用下划线(可能我经常那么做)

如图所示,注意它们的命名方法。至于属性,跟变量遵循同样的命名规则,只不过要记得如果是静态属性,全部大写。

2.实践

  • 声明

在Ext4之前,如果我们想创建一个类,我们会这样:

var MyWindow = Ext.extend(Object, { ... });
时间: 2024-08-04 08:30:27

深入学习ExtJS4.2(2)类体系的相关文章

以前用过Extjs技术的开发人员在学习Extjs4时需要注意的问题

        以前学习过Extjs的同学,在学习Extjs4的时候需要注意几个关键改变: 1.Extjs4的新的类系统. 2.Extjs4中MVC思路 3.Extjs4中的新的命名规范(结合新的MVC系统). 4.EXtjs4中的动态加载系统 当然除了这些以外,还有很多细节方面的改变,请阅读API.      参考文档:       http://www.cnblogs.com/fsjohnhuang/archive/2013/01/29/2880705.html       http://w

Caliburn.Micro学习笔记(一)----引导类和命名匹配规则

Caliburn.Micro学习笔记(一)----引导类和命名匹配规则 用了几天时间看了一下开源框架Caliburn.Micro 这是他源码的地址http://caliburnmicro.codeplex.com/ 文档也写的很详细,自己在看它的文档和代码时写了一些demo和笔记,还有它实现的原理记录一下 学习Caliburn.Micro要有MEF和MVVM的基础 先说一下他的命名规则和引导类 以后我会把Caliburn.Micro的 Actions IResult,IHandle ICondu

Cocos2d-x 3.1.1 学习日志3--C++ 初始化类的常量数据成员、静态数据成员、常量静态数据成员

有关const成员.static成员.const static成员的初始化: 1.const成员:只能在构造函数后的初始化列表中初始化 2.static成员:初始化在类外,且不加static修饰 3.const static成员:类只有唯一一份拷贝,且数值不能改变.因此,可以在类中声明处初始化,也可以像static在类外初始化 #include <iostream> using std::cout; using std::endl; class base { public: base(int

C#函数学习及常用的类

C#函数学习及常用的类 函数:能够独立完成某个功能的模块. 好处:1.结构更清析(编写.维护方便 ).2.代码重用.3.分工开发. 四要素:名称,输入(参数),输出(返回的类型),加工(函数体) 语法: 返回类型 函数名(参数类型 参数名,....) {     函数体 } 函数调用: [数据类型 变量名 = ]函数(参数); 函数调用时:调用的参数和函数定义的参数保持一对待:个数,类型,对应. 形参:形式参数.--函数定义的参数. 实参:实际参数.--函数调用的参数. 实参.形参传值的规律--

OpenCV学习之八:RNG类 随机数生成函数的使用

OpenCV学习之八:随机数生成函数 运行结果: OpenCV学习之八:RNG类 随机数生成函数的使用,布布扣,bubuko.com

c#学习4,继承类

using System;using System.Collections.Generic;using System.Linq;using System.Text; namespace 继承{class Program { static void Main(string[] args) { chinese p1=new chinese(); p1.name="陈一姐";p1.sayhello(); p1.户口="fujian"; p1.gongfu(); perso

UML学习(二)-----类图

UML学习(二)-----类图 http://www.cnblogs.com/silent2012/archive/2011/09/07/2169946.html http://www.cnblogs.com/yangfengming/archive/2008/08/14/1267495.html http://www.cnblogs.com/huangxincheng/archive/2012/10/17/2728736.html http://www.cnblogs.com/playing/

angular学习笔记(九)-css类和样式3

再来看一个选择li列表的例子: 点击li中的任意项,被点击的li高亮显示: <!DOCTYPE html> <html ng-app> <head> <title>6.3css类和样式</title> <meta charset="utf-8"> <script src="../angular.js"></script> <script src="scri

angular学习笔记(九)-css类和样式2

在上一个例子中,元素的类名使用拼接的方法,这样,类名中就不得不带有true或false,并且不易维护,所以,angular使用ng-class属性来控制元素的类名: 我们来看一个小例子,点击error按钮,顶部提示错误框,点击warning按钮,顶部提示警告框. 错误框的类名是.err,警告框的类名是.warn: <!DOCTYPE html> <html ng-app> <head> <title>6.2css类和样式</title> <

Java学习-049-正则工具类

自去年九月份决定再次入学和职业资格进阶,开始备战二者考试至今,以及当下进行中的职称申请,犹如孤独的狼,不断前行在路上,而今凡凡总总的已历8月... 不感慨了,如下为一园友需要的正则工具类,直接上码: 1 public class RegUtils { 2 private static Logger logger = Logger.getLogger(RegUtils.class.getName()); 3 private static String msg = ""; 4 privat