`
Zsb007
  • 浏览: 59310 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

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都支持,而且会自动切换。

分享到:
评论

相关推荐

    在VC环境下利用Pro /TOOLKIT对Pro /E进行二次开发

    #### 二、Pro/TOOLKIT技术二次开发的基本方法 Pro/TOOLKIT是由PTC公司提供的一个强大的二次开发工具包,它通过提供一系列API接口,使得开发者能够通过编写C/C++程序来扩展Pro/E的功能。下面将详细介绍使用Pro/...

    helixtoolkit.zip

    这些示例涵盖了3D图形学的基本概念和技术,对于提升开发者的3D编程技能大有裨益。每个示例都可能是一个独立的场景,演示了特定的3D特性或组合功能,通过实际动手操作,学习者可以更直观地理解3D渲染和交互的原理。

    Globus Toolkit 4教程

    ### Globus Toolkit 4教程:编程Java服务 #### 一、引言 随着信息技术的不断发展,网格计算(Grid Computing)...希望您能够继续深入探索Globus Toolkit 4以及其他相关技术和工具,为未来的网格计算项目打下坚实的基础。

    Anti-Cheat Toolkit

    《Unity3D中的Anti-Cheat Toolkit:反作弊技术详解》 在当今的网络游戏环境中,作弊行为已经成为严重影响游戏公平性的一大问题。为了维护游戏生态的健康,开发者们不断探索和实施各种反作弊策略。Unity3D作为全球最...

    SoapToolkit30 安装包

    8. **互操作性**:SOAP的标准化特性使得基于不同技术栈的系统能够无缝通信。SOAP Toolkit 3.0强化了这一点,使得Windows环境下的应用程序能够轻松与Java、PHP或其他平台上的Web服务进行交互。 9. **性能优化**:...

    WPF 3D工厂 HelixToolkit

    在Windows Presentation Foundation(WPF)平台上,构建3D图形应用程序是一项技术性极强的工作。Helix Toolkit是为WPF设计的一个开源库,它提供了丰富的3D图形组件和工具,大大简化了开发者创建3D场景的复杂度。本文...

    FactorySoft OPC Server Toolkit

    总的来说,FactorySoft OPC Server Toolkit是一个强大的开发工具,它为工业自动化领域的程序员提供了构建高效、可靠OPC服务器的手段,通过MODBUS OPC Server等示例,帮助开发者快速掌握OPC服务器开发的关键技术和...

    Xtreme ToolkitPro v18.5.0

    同时,持续的版本更新和维护确保了工具库始终与最新的技术趋势保持同步,为开发者提供了稳定可靠的开发环境。 总的来说,Xtreme ToolkitPro v18.5.0是一个强大而全面的UI库,它的出现极大地简化了UI开发的复杂性,...

    ESF Database Migration Toolkit

    ESF Database Migration Toolkit支持DB2到其他数据库的迁移,对于那些需要升级数据库或改变技术栈的组织来说,这是一个非常实用的功能。 在实际操作中,**数据迁移工具**的重要性不言而喻。它们能够处理复杂的迁移...

    WPF Toolkit安装.rar

    同时,WPF Toolkit也持续更新,以保持与最新技术的兼容性,例如后来的版本已包含在Silverlight Toolkit中,并且在.NET Framework 4及更高版本中,很多控件已经被纳入到官方WPF库中。 总之,WPF Toolkit是WPF开发者...

    MySQL Migration Toolkit 数据库转化工具下载

    - **可视化界面**:提供易于使用的图形用户界面,使得数据库迁移过程对非技术用户也友好。 - **批量迁移**:支持一次性迁移整个数据库或选择性迁移部分表,用户可以根据需求进行定制化操作。 - **数据转换**:...

    Xtream ToolKit 使用总结

    6. **社区交流**:CSDN博客平台上的帖子表明存在一个开发者社区,他们分享使用Xtream ToolKit的心得体会和技术问题解决方案,加入这样的社区可以帮助快速解决问题和提升技能。 总的来说,Xtream ToolKit 是一个强大...

    WPF Toolkit Extended最新版

    6. **社区支持和持续更新**:作为开源项目,WPF Toolkit Extended有活跃的开发者社区,不断进行维护和更新,修复问题,添加新功能,确保其与最新的技术趋势同步。 7. **文档和示例**:为了帮助开发者更好地理解和...

    NI LabVIEW Machine Learning Toolkit

    总的来说,NI LabVIEW Machine Learning Toolkit是一个强大的工具,它将复杂的机器学习算法与直观的LabVIEW环境相结合,使得用户能够在各种工程应用中高效地利用机器学习技术。无论是进行科学研究、产品开发还是工程...

    Xtreme ToolkitPro v17.2.0 source code.7z

    6. **文档编写**:整理学习过程中的笔记,编写详细的技术文档,方便后续的维护和团队共享。 总的来说,Xtreme ToolkitPro v17.2.0的源代码为我们提供了一个深入学习和实践的平台,无论是提升个人技能,还是优化企业...

    cvi sql toolkit 2.2

    6. **文档资源**:"readme.htm"包含了软件的使用指南和注意事项,"patents.txt"可能是关于软件中使用的专利技术的声明,"Licenses"文件夹可能包含所有相关的开源库和组件的授权信息。 7. **二进制文件**:"Bin"目录...

    MKS Toolkit for Developers 8.0

    告知一下,谢谢-Oracle ERP-ITPUB论坛-it168旗下专业技术社区.htm"这个文件可能包含了关于注册码或激活码的信息,这通常用于验证软件的合法使用。然而,需要注意的是,分享和使用未经授权的注册码是违反版权法的,...

    转轴强度计算CAD系统开发.pdf

    为了解决这些问题,华东交通大学机电工程学院的周慧兰研究并开发了一个基于Pro/Toolkit技术的CAD系统,该系统可以高效地进行转轴的强度计算,实现轴的绘图、内力和应力计算、以及强度计算等的集成。 首先,Pro/...

Global site tag (gtag.js) - Google Analytics