coos脚本库说明
coos(common object-oriented scripts Script Library)通用面向对象脚本
是本人在大量企业级网站系统开发中和阅读大量书籍后提炼出的一个开源脚本库。 目标是提供一个跨浏览器,兼容性好,独立命名空间的脚本(避免与其他类库、脚本的冲突),提供统一的脚本编写规范,提供模块化、组件化设计的机制,提供jsunit基础范例,提供经典设计模式的实现和其他书本、脚本库中常用的函数实现,提供经常使用的原形方法改造(string Array),提供最新标准的预先实现(ECMAScript 4.0)。
提供Ajax、cookie、element、hashmap、json、xml解析、事件、窗口、拖动、菜单、表单验证、在线编辑器、跨域请求等常用内置组件。
google Code上的开源地址:
http://code.google.com/p/coos/
本人博客:http://zdz8207.iteye.com/
1.脚本库设计目标和原则
(1)封装浏览器兼容性代码,把有浏览器兼容性问题的代码封装到统一接口调用,方便升级维护和代码优化,简化页面开发,减少脚本出错,提高开发效率。
(2)提供统一入口,统一命名规则,统一风格规范的编码方式,减少不同程序员间的代码差异性。
(3)提供基础类(coos),提供经常使用的原形方法改造(string Array),提供最新标准的预先实现(ECMAScript 4.0)。
(4)实现组件化模式开发,在基类的基础上可以方便的扩展出更多的通用类通用接口来供其他人,其他项目使用。例如:Ajax、cookie、element、hashmap、json、xml解析、事件、窗口、拖动、菜单、表单验证、在线编辑器等
(5)实现按需加载原则,当前页面除了加载通用类外只加载需要的脚本文件,不需要加载其他业务的脚本。
(6)为方便业务级别代码开发实现了string Array的标准原形改造(参照ECMAScript4.0和多个脚本库)。其他方法都采用无侵入脚本原则,即都继承自基类的实现。避免和其他脚本的冲突,清晰编码思路,保持统一风格,实现基于原形的面向对象的编程。
2.编码规则
(1)所有方法都应该放在js文件中,统一管理,方便对方法进行应单元测试。
(2)方法和互相引用的地方要保证先后顺序,避免出现未定义的脚本错误。
(3)采用默认优于配置的原则,对常用配置采用传入和配置两种方式,如:var obj = obj || document.body;
(4)对会引起系统错误或导致程序无法执行的代码必须作安全检查,如链式引用的时候必须判断上级存在才能调用下级方法。
(5)尽量减少业务方法的交叉调用,业务方法(如表单验证)在基础扩展里提供模板,具体业务修改模板即可轻松实现业务代码,交少业务代码的更新、改动影响到其他代码。
(6)方法命名规则应与对于作用和业务相关,使人一看就明白该方法的作用。如验证表单中,验证发帖方法的命名为:coos.form.validate.post