当前位置:  软件>java软件

通用面向对象脚本 coos

    来源:    发布时间:2015-01-04

    本文导语:  coos通用面向对象脚本 common object-oriented scripts Script Library 是本人在大量企业级网站系统开发中和阅读大量书籍后提炼出的一个开源脚本库。 目标是提供一个跨浏览器,兼容性好,独立命名空间的脚本(避免与其他类库、脚本的...

coos通用面向对象脚本 common object-oriented scripts Script Library 是本人在大量企业级网站系统开发中和阅读大量书籍后提炼出的一个开源脚本库。 目标是提供一个跨浏览器,兼容性好,独立命名空间的脚本(避免与其他类库、脚本的冲突),提供统一的脚本编写规范,提供模块化、组件化设计的机制,提供jsunit基础范例,提供经典设计模式的实现和其他书本、脚本库中常用的函数实现,提供经常使用的原形方法改造(string Array),提供最新标准的预先实现(ECMAScript 4.0)。

提供Ajax、cookie、element、hashmap、json、canvas、xml解析、事件、窗口、拖动、菜单、表单验证、在线编辑器、跨域请求等常用内置组件。

最终目的是为了提高开发效率和代码质量。

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


    
 
 

您可能感兴趣的文章:

  • 通用库支持脚本 libtool
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 通用并发 Java 对象池 Vibur Object Pool
  • 想作一个通用的从数据库取数据到对象中并在JSP表示的类,显示不出来,哪位真正高手请进!
  • c++通用模板类(template class)定义实现详细介绍
  • 通用信息系统框架
  • linux的软件能通用吗?
  • 浙ICP备11055608号-3 iis7站长之家
  • 通用LINUX C类库 jzlibs
  • 通用CAD零件库系统
  • redhat 8.0有无通用用户名,密码?
  • 可扩展二进制通用协议 XBUP
  • memoization通用框架 C++Memo
  • 通用数据压缩工具 zlite
  • 通用数据结构库 GDSL
  • 银行通用接口 AqBanking
  • 请问ncurses与curses有区别吗?有什么区别?在这两个库下编写的程序通用吗?
  • 通用DAO类 yagdao
  • 通用WEB框架 Webx
  • 请问某个数据库(如oracle)的jdbc驱动程序是不是在所有平台下通用?
  • 请问Linux数据库编程是否也可以支持通用的SQL语言进行数据库编写.
  • 怎么才能把LInux驱动做成通用的(与厂商号和产品号无关)
  • 求个linux多线程编程的例子,要有线程池的 通用些更好
  • 打算发布一个遵守GNU通用公共许可证(GPL)的免费WORD模板,大家看看这样声明行吗?
  • 简单的通用表达式求10乘阶示例


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3