toolkit 技术

Toolkit简介[收藏此页] [打印]【IT168知识库】


简介
Toolkit是结合4年多的Web开发经验。并从Visual Studio.NET Beta2就开始研发,先后经历过4个大的版本,并经过十多个项目检验发展起来的。

经过长期的开发,我们发现在开发基于Web的数据库系统,存在着大量的数据列表、查询、新建、修改、删除等基本操作。而程序员通常把大量的精力都放在这里,从而忽视了更为重要的业务逻辑。此外,在数据录入过程中有着大量的数据校验,基本数据处理,程序员在开发的时候也常常顾此失彼,导致程序质量总体不高。针对这些特点,Toolkit将这些基本操作进行了封装,这样,开发这些基本模块就变得非常简单。



Toolkit的特点
数据和显示分离
Toolkit实现了数据与显示的分离。在数据层,数据以XML的形态存在,显示层采用XSLT将数据层的XML转化为HTML显示给用户。数据层没有HTML代码,仅仅包含业务逻辑。这样,如果需要更换界面,仅仅更换一下显示层的XSLT即可,数据层代码无须变动。

快速开发
Toolkit强调的就是快速开发。Toolkit封装了基本的操作,如果仅仅是基本的操作,用不了几分钟就可以快速开发出来。Toolkit让程序员更多的关注于业务逻辑,而不要在一般的操作上浪费时间。

XML配置
Toolkit将大量的程序XML化。因此,程序员只要对XML进行配置即可,代码在Toolkit中变得很少,甚至可以不写代码,仅仅进行XML配置就可以完成所需的功能。

高效的性能
Toolkit的开发速度很快,但是并没有向传统的程序那样,开发速度快而导致程序性能严重下降。Toolkit同时实现了开发速度快和性能高,做到了鱼和熊掌兼得。

Toolkit没有采用ASP.NET的Server Control,而直接使用HTML Control。引入了大量的Cache,减轻数据库服务器的压力,提高运行性能。对于上百万的记录,Toolkit的性能非常优异。

多数据库平台支持
现在开发环境经常使用SQL Server和Oracle作为数据库平台。此外,还有其他数据库平台需要使用。每种数据库所支持的SQL和函数都有所不同。Toolkit针对这些进行了封装,只要调整一下系统配置的参数,即可切换数据库,而无需修改程序。在实际情况中,就出现了在SQL Server数据库上开发,而到Oracle数据库上运行。所做的修改就是修改web.config中的三个参数而已。

多数据模型的支持
在Toolkit中,系统除了支持单表这种最常用的模型外,还支持其它十几种数据模型。最常见的除了单表外,还包括主从表和多表。这些模型在一般情况下对于Toolkit来说,也是仅仅进行简单的配置就可以实现。

插件式编程
利用C#的Attribute的强大功能,Toolkit开发了插件模块。系统的各个功能模块都可以作为插件注册到系统中去。和传统的注册插件不同,Toolkit的插件无须手工注册,只要放在指定的目录,系统自动注册。

插件功能可以使程序功能高度模块化。开发好的功能,今后复用,只要将其插件(即dll文件)放入制定目录即可,而不需要做其他工作。插件功能还简化了程序的开发难度,不需要所有的代码都放在一起编译,这样方便了多程序员协作开发,减少不必要的文件冲突。

插件功能也给Toolkit本身带来了强大的扩展性,在Toolkit中不支持的功能,今后也可以通过插件来补充。

与其他平台交换数据方便
Toolkit内部的数据流全部采用XML格式。这样,在和其它系统进行数据交换时,就非常方便。其他系统的XML经过XSLT的转化变为Toolkit的XML就可以使用。同样,Toolkit输出的也是XML,可以供其他系统进行转化、使用。Toolkit的前身版本曾经成功开发了和SAP系统的接口。

Toolkit的功能
Toolkit开发了众多强大的功能,使Web开发变得非常方便。

EasySearch
在Web开发中,常常会碰见这种情况。即一些字段需要使用代码表录入,通常使用Select下拉框来解决。但是,不是所有的情况都可以使用下拉框的。例如民族,有五十多个。再比如行政区划,全国有三千多条。如果这些都用下拉框来解决,用户查找其中一个元素变的相当辛苦。同时这样做也严重消耗了系统性能。

针对这种情况,Toolkit开发了EasySearch功能。它通过用户的输入,从数据库中查询出最符合条件的结果。根据用户的输入,Toolkit会自动按照代码值、代码拼音等方式进行查询。用户根据查询的结果选择符合自己需要的。EasySearch的出现,大大提高了用户的录入速度。同时Toolkit对EasySearch进行了良好的封装,在开发上,可以通过插件也可以通过配置XML来开发,仅仅几行即可。在运行上,Toolkit对查询的数据进行了Cache,从而减轻了数据库的压力,同时也大大提高了程序的运行性能。



约束校验
约束在Web开发中往往被忽视,同时也是很难处理的一部分内容。用户输入的数据各种各样,如果不符合要求,比较好的处理方式就是显示用户刚才输入的所有信息,同时指出用户哪些数据输入错误。而要做到这些,正常的程序可能需要大量的处理。

Toolkit对约束进行了很好的封装,使错误处理变得简单。系统提供了20余种约束,将常用的约束涵盖,开发人员只要将其和需要校验的字段绑定即可。同时,开发人员也可以根据需要开发适于本系统的约束,开发人员所要做的使代码的逻辑校验问题。而至于界面上如何处理,Toolkit已经完成,开发人员不再需要考虑这些细节。

此外,根据XML配置文件中的信息,Toolkit自动添加了众多约束(例如数值、日期、非空等),也简化了程序员的工作量。

权限集成
根据多年的开发经验。Toolkit集成了登录权限、功能权限和数据权限三大权限体系。登录权限防止用户不进入系统就试图通过敲地址的方式访问系统。功能权限提供用户访问系统的菜单,同时也约束用户不能通过敲地址的方式试图访问没有得到授权的功能。数据权限控制用户对哪些记录可见。

Toolkit仅仅定义了这些权限的接口,具体的实现根据不同系统的需要来完成。这样,不仅避免了不同系统存在不同的权限,同时也减轻了程序员的负担。程序员无需在每个模块为权限去做代码。



例外处理
Toolkit对例外进行了处理。对于需要给出用户提示错误的页面,开发人员只要主动抛出一个错误页面的例外就可以了。

此外,Toolkit将系统没有处理的例外,一并记录在硬盘上,同时提供工具,便于开发人员对这些例外进行分析,查错。这种方式,程序员可以主动发现一些用户无法提供的错误信息。

缓存机制
Toolkit为了提高程序的性能,大量的采用了Cache技术。Cache技术提高了程序运行的性能,也减轻了数据库服务器的压力。同时,Toolkit针对Cache技术会影响开发,还提供了Cache的开关参数,通过开启和关闭Cache开关,做到开发、运行两不误。

另外,根据实际情况,在运行时常常也需要对程序进行更新。Toolkit还开发了Cache依赖技术,即所依赖的对象发生改变后,Cache自动销毁。

界面基本无需代码
在显示层,虽然采用XSLT显示界面。但是由于对XSLT进行了整合、精炼,在通常情况下,只要1-2行XSLT就可以显示一个标准的页面。

对于需要自定义的部分,系统也提供方法,允许用自己的方式替代默认的显示。

0 Code
由于Toolkit将代码大量的XML化,通常情况下,代码只有很少的代码。而且其代码也呈现强烈的相同性。因此对于没有任何特别要求的表,仅仅依靠配置的XML和XSLT,不用一行代码也可以完成各种数据逻辑功能。该功能对于快速开发系统,快速制作演示系统,或者开发用户自定义表录入功能特别有用。

列表导出Excel
针对很多情况下,列表或者查询的结果都需要导出至Excel这个特点。Toolkit整合了这一功能,利用现有的配置文件,可以直接将结果导出至Excel,而这一过程无需任何编码。对于无格式要求的报表,只要能做出列表,也可以采用该方式。这样可以提高报表开发的速度。

tkx取代aspx
为了进一步提高Toolkit的效能,Toolkit开发了tkx用来取代aspx。传统的aspx每次调用都要进行实例化,而且还需要花大量的时间处理Web Server Control。新的tkx只需要第一次调用实例化,同时由于Toolkit采用的是Html Control,tkx不需要再处理Web Server Control。这样tkx的效能远远高于aspx。

Toolkit对于tkx和aspx都支持,而且会自动切换。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值