摘自 www.lotusfans.com 月影无限
相信一些初接触LOTUS SCRIPT的人总有疑问,什么是前端类什么是后端类。哪一些是前端类,哪一些是后端类,又有什么区别呢?
其实,前端类和后端类很好认的,大家看一下所有的LOUTS CLASS,只有有UI的都属于前端类,而没有UI的,都是后端类。
象
NotesUIDocument,NotesUIDatabase,NotesUIWorkspace等,都是前端类。
前端类,顾名思义,就是指可以由前台得到对象的,也就是指前台可见的。
后端类,那么对应的就是指由后台获得的对象,类似于前台不可见。比如:NotesDocument,NotesDatabase
这样说明白了吗?
再举个例子。
如果我们在工作台上双击打开了一个文档,那么这个文档现在肯定在最前面,我们也看得见的,那么这个文档就是NotesUIDocument,以此类推,那么这个文档所在数据库也因此在前面(毕竟这个文档也是数据库的一部分,文档在前台,那么代表这个数据库也在前台),即NotesUIDatabase。类似的可以想到这个数据库是工作台的一部分,那么这个工作台就是NotesUIWorkspace
如果大家学过其它的语言,那么前端类就象是greatobject()所创建出来的对象,而后端类就象是用getObject()而获得的对象。
这两大类的最大区别是“可见”与”不可见“。
一个对象,有时可以从前端类的对象获得,有时也可以由后端类对象获得,这主要是看设计者的思路是如何的。比如,在当前已在前端打开的文档,那么如何得到文档中的域A的值。
后端类:doc.A(0)
前端类:uidoc.FieldGetText("A")
而如果这个文档没有在前台给打开过,那么就无法获得NotesUIDocument这个对象,当然得获得这个文档中的A域的值也只能后端类。doc.A(0),由此可见后端类的使用范围广,而前端类的使用范围窄,-------非得在前台打开或可见不可。
前端类和后端类也有着联系,一般情况下,如果获得到了前端类对象,那么肯定可以由此而获得相应的后端类对象。
如:
set db=uidb.database
set doc=uidoc.document
而反过来,如果得到了后端类的对象,却无法得到相应的前端类对象。因为此后端对象不一定在前台打开或可见。
这么说大家是否已明白了前端类和后端类的区别?还有什么疑问,欢迎大家跟贴提问。而对本lotus script的其它内容,本版将不断的开出[大家一起学设计]的系统贴,欢迎大家一起跟贴和提问。