找回密码
 欢迎注册
搜索
热搜: 活动 交友 discuz
查看: 1754|回复: 2

Cache中%Library.RegisteredObject解析

[复制链接]
发表于 2003-5-6 16:49:14 | 显示全部楼层 |阅读模式
%Library.RegisteredObject类提供了Cache对内存中对象进行管理的核心功能。比如说,创建和回收对象引用(OREFs)、支持类的多态性,动态调入(内存)其它被引用的对象等。
直接从RegisteredObject中派生的类可以用作事务处理(存在于内存中,被客户端调用),但它不能存入数据库中。
一、参数:CAPTION、JAVATYPE、PROPERTYVALIDATION
PROPERTYVALIDATION参数控制对象默认的校验行为。0:不进行性属性校验;1:在付值时校验(通过调用属性的isValid方法),这一项不推荐使用,因为它会造成分布式系统中客户端和服务端过多的通迅;2.对于可存贮对象,在属性存贮时校验。默认值为0。
二、方法:
1.%AddToSaveSet 构建一个需要存贮的持久类或序列化类列表,只有修改过的对象包含在这个存贮序列中。对象的OID也包括在这个序列中。执行时它将调用%OnAddToSaveSet方法。参数depth=1时,包括在存贮序列中的对象,如果还没有序列化,将调用此对象所引用的对象的AddToSaveSet方法(depth=1);depth=2时,所有加入存贮序列的对象所引用的对象AddToSaveSet方法(depth=1)都被调用;depth=3时,如果存贮序列有修改,将自动调用序列的对象引用的对象的AddToSaveSet方法(depth=3)。refresh=0时,只有当序列中不包括此对象时加入;refresh=1时,无论是否已存在,都将加入此对象,这将可能造成对象的依赖关系重建。
2.%ClassName 返回类名称。
3.%Close 将内对象从内存中清除。
4.%ConstructClone 构建复件,当deep参数为真时,将复制所有子对象,否则增加对子对象的引用。构建完成后将调用%OnConstructClone方法。
5.%GetParameter在运行时取参数值。
6.%IncrementCount增加对象的引用计数。
6.%IsA判断对象是否是类的实例。
7.%IsModified判断对象是否已修改。
8.%New创建新的实例对象,它将自动生成对象属性的默认值,并调用%OnNew方法,如果成功将返回OREF值,否则$$$NULLOREF。
9.%NormalizeObject通过属性的数据类型的Normalize方法正式化属性值。
10.%ObjectModified与%IsModified相似,但他还判断对象所参引的对象是否已修改。
11.%PackageName返回包名称。
12.%RemoveFromSaveSet从存贮序列中删除。
13.%ValidateObject自动验证对象,它由%Save方法在对象存贮时自动调用。它检查是否有必须的属性缺失;PROPERTYVALIDATION=3的属性进行属性验证;自动调用%OnValidateObject 方法。如果验证不成功,则返回错误,回滚所有存贮的数据。
RegisteredObject是最源始和重要的系统类之一,研究他的目的主要是考滤如何实现可以接受原形(模板)的类。因为我想把HL7 RIM中的类实现为可以原形化的类,也就是可以给一个类指定一个模板,当它构建时,会自动按模板的定义去自动初始化,并可以根据模板进行验属性和对象自动验证。
我觉得%New,%OnNew,%ValidateObject,%OnValidateObject这些方法的存在,好象为我们实现原形化的类提供了可能。原形化类可能还需要一个Archetype参数指定模板,并在%OnNew,和%OnValidateObject加入适当的代码就可以实现。
发表于 2003-5-6 19:56:35 | 显示全部楼层

Cache中%Library.RegisteredObject解析

sbf2000:
问你一个问题:你将实现业务规则的代码直接写在cache中了吗?
 楼主| 发表于 2003-5-7 08:14:17 | 显示全部楼层

Cache中%Library.RegisteredObject解析

你指业务规则具体是什么?我设想在Cache中实现业务内容的存贮和表示,并不关心流程和界面。利用HL7 RIM信息模型,再加上原形或模型,就可以表达丰富的业务内容。这是电子病历最关键的需要解决的问题,也就是结构化问题。
客户端需要按实际需求实现业务流程控制助及用户界面。客户端要解决的首要问题是录入问题。
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

快速回复 返回顶部 返回列表