无梦家园

无梦家园
posts - 21, comments - 151, trackbacks - 8, articles - 0
  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理

我的Ajax Framework的架构设计思路

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等...


标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
Google站内搜索

China-pub 计算机图书网上专卖店!6.5万品种 2-8折!
近千种 9-95 新二手计算图书火热销售中!
开发者征途系统新作:《设计模式——基于C#的工程化实现及扩展》



相关文章:

相关链接: