日期:2014-05-16 浏览次数:20380 次
转载请注明翻译者为:曲奇饼, http://quqibing.iteye.com
?
在历史上第一次,Ext JS的经历了一个在基础上的巨大重构,这就是新的类系统。新架构的基础几乎每一个都是建立在Ext JS4.x重写的单个类上,因此在开始编码之前理解这个类系统是很重要的。
本手册适用于任何希望创造新的或扩大在现有的Ext JS 4.x类的开发者。它分为4个部分:
Ext JS 4有 300多个类。我们有超过20万开发者的巨大社区,他们来自世界各地,有各种编程背景。在这种规模的框架中,我们面对的一个巨大挑战就是提供一个共同的代码架构。这个架构要求:
JavaScript是一个没有类的,原型为导向(prototype-oriented)的语言 。因此, JavaScript语言本质上最强大的功能之一是灵活性。它可以使用许多不同的编码风格和技巧,以许多不同的方式做同样的工作。然而,该功能也是不可预知的成本。如果没有一个统一的结构,JavaScript代码会真的很难理解,维护和再利用 。
另一方面,基于类(Class-based)编程,仍然停留OOP的最流行??的模式。基于类的语言,通常需要强类型,提供封装,标准的编码约定。通常使得开发者坚持一个大原则,编写的代码更可能是可预见的、可延伸和可扩展的。然而,他们却不具有JavaScript这样的语言的动态能力。
每种方法都有其自身的利弊,我们能否对各方都去其糟粕,取其精华?答案是肯定的,我们已经在Ext JS 4的解决方案中实现了。
使用一致的命名约定作为所有类的代码基础,而命名空间和文件名有助于保持你的代码的组织,结构化和可读性。
类名只能包含字母和数字字符 。数字是允许的,但在大多数情况下不推荐使用,除非是表达一个技术术语(比如Base64)。不要使用下划线、连字符,或任何其他非字母数字字符。例如:
MyCompany.useful_util.Debug_Toolbar不推荐
MyCompany.util.Base64可接受
类名应该被组织到适当的和正确的命名空间和包中,用(.)分隔包。最低限度,应该有一个独特的顶级命名空间的类名称。例如:
?
MyCompany.data.CoolProxy MyCompany.Application?
?
顶级的命名空间和实际类名应该用驼峰命名法,其他名称应全部小写。例如:
?
MyCompany.form.action.AutoLoad?
?
除了Sencha?发布的类以外,都不应该使用Ext作为顶级命名空间 。
缩略语也应该遵循上面列出的驼峰命名法。例如:
?
Ext.data.JsonProxy 来替代 Ext.data.JSONProxy MyCompany.util.HtmlParser,来替代MyCompar