Engine-Collection-Class,一种用来建立可重用企业组件的设计模式[7]

[入库:2005年8月18日] [更新:2007年3月24日]

本文简介:选择自 xxcc 的 blog

  • deletebooleanpublic function()— 用来删除来自外部数据源的一个或多个持久 class。

  • item——class objectpublic get() 用来根据索引偏移量检索 collection 中的项目。这可能被扩展,用来支持其它索引类型或值。

  • loadbooleanfriend function()— engine 用它来加载 collection 和 class 的初始状态。这与对象的构造函数非常类似。应该对此方法加以保护,以避免安全问题和数据完整性问题。

  • removebooleanpublic function ()— 用来根据索引关键字从 collection 中删除一个 class(仅在内存中)。

  • securitytokenvariantfriend let()friend get()— 用来存储用户的安全符号。为安全起见,这需要加以保护。

  • updatebooleanpublic function()— 用于将一个或多个 class 持久化到数据源中。此函数既可插入,亦可更新,这取决于 dirtyisnew 的值。
  • 下面是一些其它特定于实现的特性/方法:

    • clearpublic sub()— 删除 collection 中的项目(仅在内存中)。这对内存管理和特殊的功能(如撤消)有好处。

    • markfordeletebooleanpublic function()— 用来为项目作删除标记 (deleteflag)。在调用 update 方法之前这不会在网络上传输。当需要对 collection 中的多个项目作删除标记时,此方法很方便。

    • newenumiunknownpublic function()iterator— 用在 collection 中的一个方法。此方法可在 visual basic 的 for..each 语法中使用。这是说明内部存储对象功能的用法的一个示例。

      注意:    此函数需要内部存储的支持,否则就需要附加的定制代码。

    • storebyte arraypublic function()— 以数据流的形式返回 collection 的内部存储。

      注意:   这是一个本文未涉及但却包括在实现中的 ecc 高级概念。

    • undeletebooleanpublic function()— 取消一个项目的删除标记(与 markfordelete 相对)。

    此模块中的大多数方法都是自含的,但 deleteupdate 方法实际上对数据访问层进行了外部调用。它们的部分关键功能包括:

    • 将 class 信息打包到某个输送结构(variant()记录集)中。

    • 确定需要执行哪种命令(存储过程接口插入更新删除)。

    • 将 class 信息发送到外部源(数据访问层、ado、comti)。

    • 将结果展开到内部存储器中。

    可为 collection 添加的其它功能包括:

    • 根据 collection 中的 class 返回各种值的导出特性或方法。例如,如果 collection 中包含的是 student class,则可以编写一个方法来计算 collection 中学生的平均成绩。

    本文关键:Pattern VB
     

    本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

    go top