Posted on 2007-05-22 17:16
沧桑雨迢迢 阅读(303)
评论(0) 编辑 收藏 网摘 所属分类:
Javascript
核心思想:分层设计,组件化编程.
客户端AJAX框架分4层:
1)核心级:提供一套最基本的跨浏览器属性和方法.
2)系统级:具备完整的ajax框架特点.
3)应用级:提供丰富的UI组件库.
4)业务级:提供针对具体业务需求而开发的UI组件库.
核心级:以Helper模式提供跨浏览器方法/事件/对象,不对原始浏览器做任何改动.
1>基础javascript扩展
2>跨浏览器的window对象,DomHelper(提供跨浏览器DOM操作),EventHelper(提供跨浏览器事件机制),XMLDOM,XMLHttpRequest,CssHelper(样式操作)...
3>一些基本UI组件:combobox,colorSelector,calendar等
核心级框架可以被任何人使用,它只提供最基本的跨浏览器对象,不具备任何"框架性"特征,和原始的HTML和JAVASCRIPT是一个层级的.它的意义就在于"跨浏览器"!
系统级:提供一个完善的Ajax框架,实现面向对象方式的组件封装和实现组件化编程的架构.
1>面向对象框架
2>运行时环境对象
3>事件机制
4>组件模型
5>JSON组件
6>网络通信组件
7>DragDrop拖拽组件
8>动作组件,动画组件,数据组件等..
9>js动态加载组件
本层实现类似vasp.net ajax Extensions,做的都是一些"基础性"的工作,完成基础架构,担没有直接可以应用的UI组件.
应用级:提供可直接应用的与具体业务需求无关的UI组件库.
如:grid,tree,menu,tabpanel,toolbar等...
本层以"插件"形式提供专业的UI组件库,可以说这一层是UI级的AJAX,也是最实用的一层.本层的编码设计依赖于系统级的框架设计,实现组件的装配和拆分.
业务级:针对具体业务需求而开发的UI组件库
如:一个具有完整流程的类Excel操作的扩展Grid,一个从固定XML结构格式生成的Menu或Tree等.
这一层级与具体业务需求紧密关联,这一层的应用不需要写代码,而应该封装在JAVA标签或.NET WEB控件内.应用组件的开发人员,应该只需要配置几个属性,提供一个符合需要的数据源对象即可使用此层的组件.
组件化架构:借鉴微软的asp.net ajax的OO框架和组件化框架.
1>组件之间的分离与组合.依靠接口和抽象基类进行分离设计,实现关键功能部件的颗粒化细分.分离和组件,这事两大设计要点!
2>组件的逻辑功能与界面特效功能的分离与绑定.如将基础UI控件,动作组件,动画组件等进行分离和绑定.
3>组件的基础样式和可扩展样式的分离.必须将一个UI组件的基本base样式和可扩展ext样式进行分离设计,而不要耦合在一起,让其他应用者难以进行样式修改和皮肤扩展(YUI-EXT就是这样的情况).
实现以上不同层级的框架开发之后,可以应用在任何软件平台上,设计RIA的UI控件,如java的标签,.net的web control等...