`

coos脚本库说明

    博客分类:
  • coos
阅读更多

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

 

 

分享到:
评论

相关推荐

    STM32F103的COOS移植

    CooCox CoOS(也称为CoOS)是一款轻量级的实时操作系统(RTOS),专为Cortex-M系列MCU设计,旨在提供高效、稳定且易于使用的多任务调度解决方案。在KEIL开发环境中进行CoOS的移植,是将这个RTOS整合到STM32F103项目...

    CoOS-1.1.3实时操作系统

    压缩包中的"CoOS-1.1.3.exe"文件可能是CoOS-1.1.3操作系统的安装程序,用户可以通过运行这个文件来获取CoOS-1.1.3的开发环境,包括编译工具、库文件以及示例代码等,从而方便开发者进行项目开发和调试。 总的来说,...

    CoOS中文手册

    CooCox CoOs中文用户手册

    STM32_IAR_CoOS工程模板

    STM32_IAR_CoOS工程模板是一个专为STM32F103微控制器设计的集成开发环境(IDE)项目模板,它充分利用了IAR Embedded Workbench的编译工具链,并结合了CooCox CoOS实时操作系统。这个模板为开发者提供了一个快速启动...

    COOS STM32专用操作系统

    而COOS则是专为STM32设计的操作系统,它提供了一种高效、稳定且灵活的实时操作系统(RTOS)解决方案,帮助开发者更好地管理和调度硬件资源,实现多任务并行处理。 在COOS操作系统中,有几个关键概念和技术值得深入...

    CooCox CoOS用户手册

    ### CooCox CoOS 用户手册关键知识点解析 #### 一、CooCox CoOS 概述 **1.1 关于 CooCox CoOS** - **目标平台**:CooCox CoOS 是一款专为 ARM Cortex-M 系列微控制器设计的实时操作系统(RTOS)。 - **开源属性**...

    Coos操作系统

    Coos操作系统源代码■免费并开源 ■ARM Cortex M3及M0定制操作系统 ■高度可裁剪性,最小系统内核仅974Byte ■支持优先级抢占和时间片轮转 ■自适应任务调度算法 ■中断延时时间趋近于零 ■堆栈溢出检测 ■信号量、...

    coos嵌入式实时操作系统中文指导手册

    ### coos嵌入式实时操作系统中文指导手册 #### 1. 关于CooCoxCoOS CooCoxCoOS是一款专为ARM Cortex-M系列微控制器设计的实时操作系统(RTOS)。该操作系统具有开放源代码的特点,使得开发者可以自由地对其进行修改...

    CooCox CoOS - 免费并开源的嵌入式实时操作系统

    一款免费并开源的嵌入式实时多任务操作系统,最小系统内核...CoOS还支持ICCARM、ARMCC、GCC多种编译器,故不仅可以在CoIDE中通过勾选直接使用,还能独立应用于MDK和IAR中。官网提供了大量可直接使用的示例及应用代码。

    nuc_cmsis keil coos

    完整 cmsis,可以直接在keil里或者coos里调用,

    Nucleo_F103_COOS.rar

    在这个名为“Nucleo_F103_COOS.rar”的压缩包中,包含了用于STM32F103ZET6开发的资源,这个型号的MCU具有更高的闪存和SRAM容量,适合更复杂的嵌入式应用。 "Mbed"是一个开源硬件平台,由NXP、ST和ARM等公司共同推动...

    LPC1766_LwIP_CoOS.zip

    【cmsis】 CMSIS(Cortex Microcontroller Software Interface Standard)是ARM公司提供的一个标准库,包含了针对Cortex-M系列处理器的外设驱动和API,简化了对硬件的访问。 总的来说,这个压缩包是一个完整的LPC...

    面向ARM Cortex M系列的CoOs

    《面向ARM Cortex M系列的CoOS详解》 在嵌入式系统领域,操作系统(OS)是连接硬件与软件的关键桥梁,对于实现高效、稳定的设备运行至关重要。本文将深入探讨一款专为ARM Cortex M系列微处理器设计的小型操作系统...

    电子-Coos串口实验.zip

    在电子-Coos串口实验.zip这个压缩包中,我们聚焦于单片机和嵌入式系统,特别是STM32系列微控制器的应用。STM32是由意法半导体(STMicroelectronics)推出的基于ARM Cortex-M内核的微控制器,广泛应用于各种嵌入式...

    电子-CoosLED.zip

    9. **项目结构**:"Coos-LED"项目可能包含源代码文件(如.c和.h)、配置文件(如启动文件、链接脚本)以及项目工程文件。源代码可能分为不同的模块,如主程序、RTOS配置、LED控制函数等。 10. **学习资源与社区支持...

    电子-Coos流水灯.zip

    《电子-Coos流水灯.zip》是一个关于嵌入式系统开发的资源包,主要涉及的是STM32系列微控制器,特别是STM32-F0、F1和F2型号。这个项目的核心是实现一种常见的LED显示效果——流水灯。下面将详细阐述相关知识点。 一...

    STM32 COOS-STM32 轻量级系统.rar

    STM32 COOS 是一个基于STM32微控制器的轻量级操作系统,主要适用于资源有限的嵌入式系统。这个压缩包可能包含了实现COOS操作系统的所有必要文件,包括源码、配置文件、示例程序等,方便开发者进行学习和移植到自己的...

    a_coos:用于Arduino的简单协作操作系统

    `setjmp`是C/C++标准库中的一个函数,常用于实现非局部跳转,这对于在协作式操作系统中进行任务切换是非常有用的。 在"a_coos-master"这个压缩包文件名中,"master"通常指的是版本控制系统的主分支,可能是Git仓库...

    CooCox CoOS

    CooCox CoOS 是一款针对ARM Cortex-M系列芯片而设计的实时系统内核。 CoOS特征: 免费并开源 ARM Cortex M3及M0定制操作系统 高度可裁剪性,最小系统内核仅974Byte 支持优先级抢占和时间片轮转 自适应任务调度...

Global site tag (gtag.js) - Google Analytics