Domino开发要点编码语言以及代码优化分析.doc

Domino开发要点编码语言以及代码优化分析.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Domino开发要点编码语言以及代码优化分析 3. 开发要点编码语言以及代码优化分析 3.1 编码语言的选择 在具体的开发过程中,根据需求性质,DOMINO可以有多种编码语言的选择。主要有公式、lotusscript、java、javascript语言,比较起来,特别简单的功能和逻辑,用公式实现比较快;复杂的功能和逻辑,用lotusscript比较快。 java语言可以实现多线程,完全面向对象,处理大量文档时,如果程序利用到多线程,比不能利用多线程的lotusscript快。另外针对于底层开发,LOTUS还有专门的Toolkits支持:   按Lotus产品系列来分,Lotus提供下列产品的工具包: Notes/Domino 、Sametime 、QuickPlace 、Discovery Server 、Other。   其中,Notes/Domino和Sametime的工具包比较多,C、C++、Java语言的都有,其他产品的则很少。从这个角度,也可以看出文档数据处理、协同工作是Lotus系列产品的核心价值所在。其中,Notes/Domino的工具包有: Lotus C API toolkit Lotus??????????? C++ API toolkit Lotus Domino Toolkit for Java/CORBA? Lotus and Notes Toolkit for COM Lotus Domino Driver for JDBC (简称LDDJ)? NotesSQL Lotus XML Toolkit(简称DXL) Custom Tag Converion kit(简称DCT) LotusScript Extensions toolkit(简称LSX) ?? 在Domino/Notes的Toolkit中,C API的功能最为强大:可以操纵notes数据库中几乎所有的数据对象:数据库及ACL、文档和域、表单、视图和文件夹、代理、可以为Notes客户端的增加附加菜单、可以用来创建附加的Domino服务任务、可以用来扩展Domino/Notes的事件管理。 而其主要限制如下:   不能修改已有的Domino/Notes软件,不能去除其已有的功能、特性,或者改变其工作机理、不能修改安全特性、不能修改用户活动记录 ??? 支持的操作系统: WindowsNT/2000, Linux, Solaris SPARC/Intel, HP-UX, MacOS, AIX, AS/400, S/390等。 3.2 编码优化原则 1)公式语言优化 1.使用@ClientType代替@UserRoles来检查客户端类型 ?? 从R4.6开始,不必使用@UserRoles中的$$WebClient来检查客户端是否使用浏览器,直接使用@ClientType比较快 2.使用简单的公式隐藏条件比较快   以下三种写隐藏的选择,性能递减。可以利用第一个,不要写判断@ClientType的公式;可以利用编辑模式,不要写判断@isdocbeingedited的公式 ?? a.根据客户端程序类型?? b.根据编辑模式?? c.根据公式隐藏 3.在@dblookup和@dbcolumn公式中使用列号比使用域名快   使用域名需要在域列表中对比,但直接使用列号会带来维护的困难。 4.打开@dblookup和@dbcolumn的cache开关   cache不但可以使这个公式执行更加快,而且可以使‘同一个数据库’中,‘同样公式’的另一个lookup运行更快。cache是基于数据库的,不同数据库的相同lookup不能利用相同的cache。注意:无论是否打开cache,lotusscript调用evaluate的lookup都不能利用cache。 5.根据4,如果公式和lotusscript都要利用相同的lookup结果,可以将信息放到profile文档中。 6.要lookup一个包含很多文档的视图时,创建一个隐藏视图,仅包含必要的列。视图越小,越快。 7.如果要取视图中的几个列,分别取的话,每个lookup都要花时间。将几个列组合成一个列,用特别的字符分隔,一次取出来,然后分析出几个域。 8.一段公式中,数次利用同一个结果集,用临时变量保存,而不是每次重新取 9.使用不同的搜索方法,如果处理的文档集较小(例如少于数据库中所有文档的15%),使用lotusscript比公式快,如使用getview , search, ftsearch等方法。 10.使用‘显示时计算’域来避免不必要的重复计算。下表是使用各种类型域时,不同事件引发的计算情况: Field??? Create??? Open????? Open???????? Show???

文档评论(0)

yurixiang1314 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档