CN1758219A - 要求事件的对象克隆 - Google Patents

要求事件的对象克隆 Download PDF

Info

Publication number
CN1758219A
CN1758219A CNA2005101036656A CN200510103665A CN1758219A CN 1758219 A CN1758219 A CN 1758219A CN A2005101036656 A CNA2005101036656 A CN A2005101036656A CN 200510103665 A CN200510103665 A CN 200510103665A CN 1758219 A CN1758219 A CN 1758219A
Authority
CN
China
Prior art keywords
cloned
attribute
shared
community set
shell
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA2005101036656A
Other languages
English (en)
Other versions
CN100470466C (zh
Inventor
E·P·加登
J·K·哈兹尔登
M·F·沙特纳维
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN1758219A publication Critical patent/CN1758219A/zh
Application granted granted Critical
Publication of CN100470466C publication Critical patent/CN100470466C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4488Object-oriented

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

一种用于克隆对象的系统和方法,通过用共享对象的属性或请求事件的属性集合来配置克隆对象,并用在该克隆对象上发起的设计事件来解除克隆对象的配置。在设计事件期间,克隆对象可指向或关联于共享对象或属性集合。在克隆对象上执行的设计事件实际上可在用户知道或不知道的情况下在共享对象或属性集合上执行。此外,本发明一实施例可允许通过改变属性表达式的变量在请求时间动态执行克隆对象。

Description

要求事件的对象克隆
技术领域
本发明一般涉及对象模型软件应用程序,尤其涉及在对象之间共享配置属性。
背景技术
软件应用程序可包含定义应用程序功能的多个对象。应用程序内的部分对象可与其它对象区分开,即这些对象可能不具有与应用程序内其它对象相同的属性。然而,应用程序内的许多其它对象可能基本上都相同。这些基本上相同的对象可共享应用程序内基本相同的功能。这种对象可位于同一应用程序内的多个地方,并通用基本相同动作的执行或用于相同目的。
尽管对象几乎是相同的,每一个这些对象的属性可在执行之前单独配置。这种配置可能需要几乎相同的代码在不同位置复制。对象的编码会相当冗长和复杂。如果要改变实现一系列相关对象的代码或由该代码实现的下层算法,则必须将改变应用于相关对象的各个位置。许多相同或几乎相同的对象的编辑可能是劳动密集并耗时的。该编辑还容易出错,进一步导致投入劳动密集和耗时的精力来调试在应用程序内多个位置出错的死机或故障应用程序。
因此,需要减少对应用程序内多个相似或几乎相同的对象的劳动密集和耗时的维护和调试。
发明内容
本发明可使用户能配置一个对象的属性,并使这些属性能在其它相似对象中被自动共享。这种属性的共享或克隆可在例如包含多个对象的对象模型应用中使用,其中这些对象的一部分相同但位于父对象内的不同地方。这些对象可在父对象内的不同范畴中,或受到不同的工作流限制。
在具有设计时间(例如编辑)和请求时间(例如执行)的对象模型应用程序中,应用程序可包括用属性配置或例示的共享对象。在设计时间最好不用属性配置是这些共享对象克隆的对象,而相反这些对象指向共享对象。共享对象的克隆可以是与共享对象相关联的对象的外壳。在请求时间,使用共享对象的属性来配置或例示克隆对象。因此,在请求时间,克隆对象被物理地创建并能够自己发挥作用。当完成请求事件时,克隆对象可解除配置或撤消例示,并因此可回退到设计时间模式,从而它们是指向共享对象的对象外壳。
本发明可在开发和维护应用程序对象中节约时间,因为只有一个共享对象必须用属性进行配置。其它是共享对象克隆的对象只指向该共享对象。这不仅在应用程序开发中而且在应用程序维护中节约了时间和精力。如果对象需要修改或编辑,则只需关注共享对象,从而不仅减少了耗时编辑而且减少了应用程序编码中的出错。因为克隆对象仅在运行时配置,所以它们不需要编辑,因此将用共享对象的属性来自动配置。此外,如果对象较大或较复杂,在设计时间仅配置或例示各对象之一可便于节约存储器。
附图说明
结合附图阅读前面的发明内容和以下本发明各实施例的详细描述,能得到更好的理解。为了说明本发明,在附图中示出当前优选的各实施例;然而,应理解本发明并不限于所示的特定方法和手段。在附图中:
图1是示出可实现本发明各方面的示例计算环境的框图。
图2是示出在设计事件期间显示的用于对象克隆的系统的示例实施例的框图。
图3是示出在请求事件期间显示的用于对象克隆的系统的示例实施例的框图。
图4是用于在对象的请求事件克隆的系统中执行设计事件的方法的流程图。
图5是用于在对象的请求事件克隆的系统中执行请求事件的方法的流程图。
具体实施方式
纵览
本发明一实施例使用户能创建一个或多个称为克隆对象的对象,该对象共享与称为共享对象的另一对象相同的属性(即特性或设置)。在设计时间,仅物理地创建共享对象。这样,共享对象类似于主副本,从该主副本可制作其它副本。克隆对象可以是指向或关联于共享对象的基本为空的外壳。克隆对象可在不同范畴内并受到不同工作流的限制。当编辑克隆对象或共享对象的任一个时,可具有物理地更新共享对象的编码的相同效果。在请求时间,当使用这些对象时可由所有克隆对象来反映该编辑。在请求时间物理地创建克隆对象并适当地执行之。在请求事件结束时,克隆对象可解除配置并可返回到其设计时间状态,作为带有指向共享对象的指针的外壳。即,克隆对象的属性不是持久的,只有共享对象的属性可持久。
示例计算环境
图1和以下讨论旨在提供一种本发明的示例实施例可在其中实现的适当计算环境的简要一般说明。然而,应当理解手持式、便携式以及所有类型的其它计算装置可预期用于本发明。尽管以下所述为通用计算机,但仅是一个示例。本发明还可在与网络服务器互操作并交互的瘦客户机上操作。因而,本发明的示例实施例可在其中仅含极少或最少客户机资源的网络化主机服务的环境中实现,例如其中客户机装置仅用作万维网的浏览器或接口的网络化环境。
尽管不是必需的,本发明可通过由开发者或测试者使用和/或包括在网络浏览软件中的应用程序编程接口(API)来实现,它将在诸如程序模块的由一个或多个计算机(例如客户机工作站、服务器、或其它装置)执行的计算机可执行指令的一般上下文中描述。一般而言,程序模块包括执行特定任务或实现具体抽象数据类型的例程、程序、组件、数据结构、以及其它类型的结构。通常,程序模块的功能可按需在各个实施例中组合或分布。此外,本领域技术人员将理解本发明可在其它计算机系统配置中实践。适用于本发明的其它众所周知的计算系统、环境和/或配置包括,但不限于,个人计算机(PC)、自动取款机、服务器计算机、手持式或膝上型装置、多处理器系统、基于微处理器的系统、或可编程的电子消费品、网络PC、小型计算机、大型计算机等等。本发明的实施例还可在任务由经通信网络或其它数据传输介质链接的远程处理装置执行的分布式计算环境中实践。在分布式计算环境中,程序模块可置于包括存储器存储装置的本地和远程计算机存储介质中。
因而图1示出本发明可在其上实现的适当计算系统环境100的示例,尽管如上阐明的,该计算系统环境100仅是适当计算环境的一个示例,并非旨在提出对本发明使用或功能性范围作任何限制。计算环境100也不应被解释为对示例性操作环境100中所示的任一组件或其组合有任何依赖性或任何需求。
参照图1,用于实现本发明的示例系统包括以计算机110形式的通用计算装置。计算机110的组件可包括,但不限于,处理单元120、系统存储器130以及把包括系统存储器在内的各种系统组件耦合到处理单元120的系统总线121。系统总线121可能是若干总线结构类型中的任何一种,包括存储器总线或存储器控制器、外围总线、以及使用多种总线架构的任一种的本地总线。作为示例,而非限制,这些架构包括工业标准架构(ISA)总线、微信道架构(MCA)总线、增强型ISA(EISA)总线、视频电子标准协会(VESA)局部总线和外围部件互连(PCI)总线(也称为Mezzanine总线)。
计算机110通常包括各种计算机可读介质。计算机可读介质可以是能被计算机110访问的任何可用介质,并包括易失性和非易失性介质、可移动和不可移动介质。作为示例,而非限制,计算机可读介质可包括计算机存储介质和通信介质。计算机存储介质包括以任何方法或技术实现、用于存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息的易失性和非易失性介质、可移动和不可移动介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字化多功能光盘(DVD)或其它光学存储技术、磁盒、磁带、磁盘存储器或其它磁性存储设备、或任何其它可用于存储所需信息并可由计算机110访问的介质。通信介质通常在诸如载波或其它传输机制的已调制数据信号中体现计算机可读指令、数据结构、程序模块、或其它数据,且包括任何信息输送介质。术语“已调制数据信号”意指以在信号中编码信息的方式设置或改变其一个或多个特征的信号。作为示例,而非限制,通信介质包括诸如有线网络或直线连接的有线介质,和诸如声学、射频(RF)、红外线和其它无线介质的无线介质。以上任何介质的组合也应包括在计算机可读介质的范围中。
系统存储器130包括诸如只读存储器(ROM)131和随机存取存储器(RAM)132的易失性和/或非易失性存储器形式的计算机可读介质。包含有助于如起动时在计算机110内元件间传送信息的基本例程的基本输入/输出系统(BIOS)133通常存储在ROM 131中。RAM 132通常包含可被处理单元120立即访问和/或当时正被操作的数据和/或程序模块。作为示例,而非限制,图1示出了操作系统134、应用程序135、其它程序模块136、和程序数据137。RAM 132可包含其它数据和/或程序模块。
计算机110还可包括其它可移动/不可移动、易失性/非易失性计算机存储介质。作为示例,图1示出了读取和写入不可移动、非易失性磁性介质的硬盘驱动器141,读取和写入可移动、非易失性磁盘152的磁盘驱动器151,读取和写入可移动、非易失性光盘156,诸如CD-ROM或其它光学介质的光盘驱动器155。其它也在示例性计算环境中使用的可移动/不可移动、易失性/非易失性计算机存储介质包括,但不限于,如磁带、闪存卡、数字化多功能光盘、数字化录像带、固态RAM、固态ROM等等。硬盘驱动器141通常通过诸如接口140的不可移动存储器接口与系统总线121连接,而磁盘驱动器151和光盘驱动器155通常通过诸如接口150的可移动存储器接口与系统总线121连接。
如上所述并如图1所示的驱动器及其相关联的计算机存储介质为计算机110提供计算机可读指令、数据结构、程序模块、和其它数据的存储。在图1中,例如,硬盘驱动器141被示为存储操作系统144、应用程序145、其它程序模块146、和程序数据147。注意这些组件可以与操作系统134、应用程序135、其它程序模块136、和程序数据137相同或不同。在此给予操作系统144、应用程序145、其它程序模块146、和程序数据147的不同编号至少说明他们是不同的副本。用户可通过诸如键盘162、以及通常称为鼠标、跟踪球或触摸板等的定位装置161的输入装置向计算机110输入命令和信息。其它输入装置(未示出)可包括话筒、游戏杆、游戏垫、卫星接收天线、扫描仪等等。这些和其它输入设备常常通过与系统总线121耦合的用户输入接口160与处理单元120相连,但也可通过诸如并行端口、游戏端口或通用串行总线(USB)的其它接口和总线结构连接。
监视器191或其它类型的显示设备也可通过诸如视频接口190的接口与系统总线121相连。除监视器191以外,计算机还可包括诸如扬声器197和打印机196的其它外围输出设备,它们通过输出外围接口195相连。
计算机110可以在使用与一台或多台远程计算机,诸如远程计算机180的逻辑连接的网络化环境中运行。远程计算机180可以是个人计算机、服务器、路由器、网络PC、对等装置或其它公共网络节点,而且通常包括上述与个人计算机110相关的许多或全部组件,尽管在图1中仅图示了存储器存储设备181。图1中所描绘的逻辑连接包括局域网(LAN)171和广域网(WAN)173,但也可包括其它网络。这样的网络化环境在办公室、企业范围计算机网络、内联网和因特网上是常见的。
当用于LAN网络化环境中时,计算机110通过网络接口或适配器170与LAN171连接。当用于WAN网络化环境中时,计算机110通常包括调制解调器172或其它用于在诸如因特网的广域网173中建立通信的装置。可以是内置式或外置式的调制解调器172与系统总线121通过用户输入接口160或其它适当机制连接。在网络化环境中,与计算机110相关的程序模块或其一部分可存储在远程存储器存储装置中。作为示例,而非限制,图1示出了驻留于存储器装置181中的远程应用程序185。应当理解,所示网络连接是示例性的,且也可以使用其它用于在计算机间建立通信连接的方法。
本领域技术人员可理解,计算机110或其它客户机装置可用作计算机网络的一部分。这样,本发明适合具有任何数量存储器或存储单元的任何计算机系统、以及在任何数量存储单元或存储体上发生的任何数量的应用程序和进程。本发明一实施例可应用于带有可用于网络环境的具有远程或本地存储器的服务器计算机和客户计算机的环境。本发明还可应用于具有编程语言功能、编译和执行功能的单机计算装置
请求事件的对象克隆
图2示出在设计时间事件期间显示的用于请求事件的对象克隆的系统200的示例实施例的框图。系统200可驻留在一个或多个诸如参照图1描述的计算机110的计算机上。系统200可包括属性集合210、与属性集合210通信的共享对象220、以及指向(例如知道并关联于)共享对象220的克隆对象外壳230、240、250。
系统200可基于工作流对象模型。对象模型可被定义为对象和关系的集合。每个对象可与管理对象的执行行为的一个或多个属性相关联。该对象模型一般可包括两个状态,设计时间和请求时间。
系统200可以是在设计时间示出的应用程序。设计时间包括设计事件发生期间。设计事件是不是请求事件的任何事件。设计事件包括编辑系统200的算法或编码。设计事件还包括保持或载入系统200的算法或代码。请求时间包括请求事件发生期间。请求事件是对象用于开发目的期间的任何事件。例如,请求事件包括应用程序的对象的执行。请求事件还包括验证应用程序或应用程序中的对象。验证类似于编译,并还可被定义为确认-不执行该应用程序-所设计的该应用程序或其一部分操作正常。
对象可包括执行功能或以其它方式发挥作用的其它对象。每个对象可定义要在更大对象内执行的工作项目。对象可通过例如复制文件、下载文件、发送电子邮件、清除数据、执行查询等来执行应用程序的工作。共享对象220可以是这种对象。共享对象220在设计时间(也在请求时间,如下所述)用来自属性集合210的属性或特性来进行配置或例示。
属性集合210可驻留在例如系统200的服务器(未示出)上。属性集合210可包括用于例示诸如共享对象220的对象的任何类型的属性或特性。例如,如果共享对象220包括发送电子邮件消息的步骤,则共享对象220在配置或例示时可包括诸如地址名、目标地址、标题、和消息文本的属性。这些属性可从属性集合210进行配置或例示。本领域技术人员将理解,共享对象220可用来自一个以上属性集合的属性来配置或例示。
克隆对象外壳230、240、250可以是对象的“外壳”,意思是它们不是在设计时间期间配置或例示的对象。相反,克隆对象外壳230、240、250指向共享对象220。箭头231、241、251表示该“指向”。箭头指示,克隆对象外壳230、240、250可在请求时间用共享对象220的属性来配置或例示。即,在请求时间,克隆对象外壳230、240、250可物理地创建。在请求时间,克隆对象外壳230、240、250变成能够独立发挥作用的可独立执行对象。
每个克隆对象外壳230、240、250可包括一个或多个属性外壳234、244、254。属性外壳234、244、254表示克隆对象外壳230、240、250的属性不在设计时间配置或例示。例如,每个克隆对象外壳230、240、250在配置或例示时可发送电子邮件消息。然而,该电子邮件克隆对象外壳不包括用于在设计时间期间发送电子邮件的任一属性。当执行一个或多个电子邮件对象外壳230、240、250的每一个时,克隆对象外壳的属性可用共享对象220的属性填充。共享对象220可提供执行克隆对象外壳230、240、250所需的所有属性,这些外壳(在执行时)不再只是外壳而是可执行对象了。
在设计时间,可例如编辑或保持共享对象220的编码。用户可能想要改变系统200的对象220、230、240、250。用户可通过仅编辑共享对象220来修改或编辑所有对象220、230、240、250。对共享对象220的任何改变可在请求事件期间出现在克隆对象外壳230、240、250中。
此外,用户可从用户界面查看共享对象220和克隆对象外壳230、240、250。用户可通过在用户界面中选择来编辑共享对象220或属性集合210。应理解,用户还可通过选择任一克隆对象外壳230、240、250来编辑共享对象220或属性集合210。在选择克隆对象外壳230、240、250之一时,用户实际上打开了共享对象220或属性集合210。然后用户可编辑共享对象220或属性集合210。用户甚至不知道他或她在编辑共享对象,而是想正在对克隆对象进行编辑。用类推的方法,可视为类似于在计算机桌面上选择使程序执行并使文档呈现给用户的“快捷”图标。即使文档是使用这种快捷方式访问的,用户仍可编辑该文档并在文档本身之上执行该编辑。
图3示出用于对象的请求时间克隆的系统300的示例实施例的框图。系统300可以是与参照图2所述的系统200相同的系统,除了系统300所示为请求时间而非设计时间。系统300可驻留在一个或多个诸如参照图1描述的计算机110的计算机上。系统300可包括属性集合310、与属性集合310通信的共享对象320、以及与共享对象320通信的克隆对象外壳330、340、350。
系统300可以是在请求时间示出的应用程序。应用程序可基于对象模型。如前所述,请求时间可包括对象用于创建目的的期间。这种请求时间包括对象的执行和验证。
在请求时间,共享对象320可使用属性集合310来配置或例示。属性集合310基本上可与属性集合210相似。属性集合310可包括用于例示或配置诸如共享对象320的对象的任何类型的属性或特性。例如,如果共享对象320包括发送电子邮件消息的步骤,则共享对象320在配置或例示时可包括诸如地址名、目标地址、标题、和消息文本的属性。
在请求时间,一个或多个克隆对象外壳230、240、250也可使用共享对象320的属性来配置或例示,并变成克隆对象330、340、350。或者,在请求时间,一个或多个克隆对象外壳230、240、250可使用属性集合310的属性来配置或例示,并变成克隆对象330、340、350。然后克隆对象330、340、350可包括共享对象320的属性334、344、354。这种配置或例示对用户是不可见的。例如,每个克隆对象330、340、350都可像共享对象320一样,在发生相应的指定事件时发送电子邮件消息。已配置或例示的克隆对象330、340、350可包括诸如地址名、目标地址、标题、和消息文本的属性。当执行一个或多个克隆对象330、340、350时,用户可能并不知道该电子邮件消息是由克隆对象330、340、350之一还是由共享对象320发送的。
在本发明一实施例中,可用相同属性并用相同方式来执行共享对象320或已配置或已例示的克隆对象330、340、350。继续电子邮件示例,共享对象320和已配置或已例示的克隆对象330、340、350都可将具有相同主题的相同消息根据同一收件人名发送到同一目的地。
在本发明可选实施例中,克隆对象330、340、350的例示可分叉。来自设计时间的克隆对象外壳230、240、250可在请求时间进行配置或例示以变成克隆对象330、340、350。然而,对用户而言使克隆对象330、340、350在某些方面能彼此区分并与共享对象320区分是重要的。即,用户不想把具有相同主题的相同消息用同一收件人名发送到同一目的地。用户可能想要使消息中的标题对克隆对象之一不同,或者可能想要把一个消息发送给X、把另一个消息发送给Y、把第三个消息发送给Z。这种克隆对象的修改可在请求时间动态配置。这可通过修改属性表达式中的变量来完成。这种修改可由任何对象来完成。分叉的例示可通过对克隆对象330、340、350作修改来增加灵活性,同时仍然允许在设计时间期间编辑共享对象320来应用于克隆对象330、340、350。
当请求时间结束时,已配置或例示的克隆对象330、340、350可回退到设计时间状态。即,克隆对象330、340、350可再次变成参照图2所述的克隆对象外壳230、240、250。共享对象320像前面一样可在设计时间期间配置或例示。这样,如果用户编辑共享对象320,通过共享对象320的属性来配置或例示的所有克隆对象330、340、350将在请求事件之后反映对共享对象320的改变。
图4示出用于在克隆对象上执行设计时间事件的方法400的流程图。这样的一个设计时间事件可编辑一克隆对象。另一设计时间事件可保持一克隆对象。在步骤405,可选择诸如克隆对象B的克隆对象用于设计时间事件。克隆对象B可以是共享对象A的克隆。即,克隆对象B可“指向”或关联于共享对象A,但可以不用共享对象A的属性来配置或例示。克隆对象B可通过任何适当方法选择,诸如用鼠标“点击”用户界面中的克隆对象B。在选择之后,用户在步骤410可自动地指向共享对象A。这不需要用户知道就可发生。即,用户点击克隆对象B,显现用户认为是克隆对象B的编码的代码或实现算法的某些其它方法。实际上,用户可能在查看共享对象A的代码或实现算法的某些其它方法。在步骤415,设计时间事件可在共享对象A上执行。用户会再次相信设计实践事件在克隆对象B上执行,但实际上该事件应用于共享对象A。在完成设计时间事件之后,共享对象A在步骤420关闭。总之,用户可能不知道设计时间事件应用于共享对象A而不是克隆对象B。然而,当克隆对象B在请求时间时,克隆对象B可根据应用于共享对象A的设计时间事件来操作。这样,方法可帮助减少对包括位于各个位置的多个相似对象的应用程序的劳动密集型维护。
图5示出用于将请求时间事件应用于克隆对象的方法500。克隆对象可以是克隆对象B,它是共享对象A的克隆或共享其属性。在步骤505,克隆对象B请求时间事件开始。克隆对象B在步骤510可用共享对象A的属性来配置或例示。或者,如上所述,克隆对象B可用诸如参照图3所述的属性集合310的属性集合的属性来配置或例示。在步骤515,克隆对象B可开始其请求时间事件。在步骤520,请求时间事件可结束。最后,在步骤525,克隆对象B可返回到其非请求时间状态。即,克隆对象B不再进行配置或例示但可返回到指向共享对象A的状态。这样,如果编辑共享对象A,则克隆对象B在其下一请求时间事件之后自动反映这些编辑。例如,编辑克隆对象B实际上可导致编辑共享对象A。编辑共享对象A可导致编辑遍布指向(并因此是其克隆)共享对象A的应用程序中的许多其它对象。
在此所述的各种技术可用硬件、软件、或在适当时用两者的组合来实现。因而,本发明的方法和装置或其某些方面或部分可采取包括在诸如软盘、CD-ROM、硬盘、或任何其它机器可读的存储介质的有形介质中的程序代码(即指令)的形式,其中当程序代码由诸如计算机的机器载入并执行时,该机器变成实践本发明的装置。程序代码在可编程计算机上执行的情形中,计算装置通常包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储单元)、至少一个输入装置、以及至少一个输出装置。可例如通过使用数据处理API等利用本发明的领域专用编程模型方面的创建和/或实现的一个或多个程序,最好用高级过程或面向对象的编程语言来实现以与计算机系统通信。然而,如果需要程序也可用汇编或机器语言来实现。在任何情形中,语言可以是编译或解释语言,并可与硬件实现相组合。
尽管本发明已结合各附图的优选实施例进行了描述,可以理解可使用其它实施例或可对所述实施例作更改和添加来执行本发明的相同功能而不从其背离。例如,本发明各实施例参照诸如编辑或保持的某些设计时间事件进行描述。任何设计时间事件都形成本发明的示例实施例。类似地,请求时间事件被描述为执行和验证,尽管任何其它请求时间事件也可落于本发明范围中。应理解,本发明其它示例实施例可包含任何数量的克隆对象和共享对象。本发明决不会限于在此提供和描述的示例。因此,本发明应不限于任一单个实施例,而应根据所附权利要求在宽度和范围内作解释。

Claims (18)

1.一种用于对象的请求事件克隆的方法,其特征在于,包括
在对象外壳上发起请求事件,其中所述对象外壳指向共享对象和属性集合的至少之一,
通过用来自所述共享对象和所述属性集合的至少之一的属性配置所述对象外壳来创建克隆对象,以及
将请求事件应用于所述克隆对象。
2.如权利要求1所述的方法,其特征在于,还包括在所述请求事件结束之后将所述克隆对象返回给克隆对象外壳。
3.如权利要求1所述的方法,其特征在于,还包括改变属性的属性表达式中的一个变量。
4.一种用于在克隆对象上执行设计事件的方法,其特征在于,包括
创建指向共享对象和属性集合的至少之一的克隆对象外壳,
接收对所述克隆对象外壳的选择,
显示所述共享对象和属性集合的至少之一,
接收设计事件,以及
将所述设计事件应用于所述共享对象和所述属性集合的至少之一。
5.一种用于在面向对象的应用程序中克隆对象的系统,其特征在于,包括
一共享对象,具有与之相关联的一个或多个属性,以及
一克隆对象,与所述共享对象相关联,其中所述克隆对象
在发起所述克隆对象上的请求事件之后,用所述属性配置,以及
在所述克隆对象上发起的设计事件期间指向所述属性。
6.如权利要求5所述的系统,其特征在于,还包括
一属性集合,包括所述属性,其中在发起所述请求事件之后,所述克隆对象用所述属性集合的属性来配置。
7.如权利要求6所述的系统,其特征在于,在所述克隆对象上发起的设计事件应用于所述属性集合。
8.如权利要求6所述的系统,其特征在于,所述共享对象在所述共享对象上的设计事件和请求事件至少之一发起之后用所述属性集合的属性来配置。
9.如权利要求5所述的系统,其特征在于,在所述克隆对象上发起的设计事件应用于所述共享对象。
10.如权利要求5所述的系统,其特征在于,所述设计事件包括编辑和保持的至少之一。
11.如权利要求5所述的系统,其特征在于,所述请求事件包括执行和验证的至少之一。
12.如权利要求5所述的系统,其特征在于,所述克隆对象在所述克隆对象上的请求事件结束之后解除配置。
13.如权利要求5所述的系统,其特征在于,在所述克隆对象上的请求事件发起之后,修改属性表达式中的变量。
14.一种具有计算机可执行指令的计算机可读介质,其特征在于,所述指令用于执行各步骤,包括
发起对象外壳上的请求事件,其中所述对象外壳指向共享对象和属性集合的至少之一,以及
通过用来自所述共享对象和所述属性集合的至少之一的属性配置所述对象外壳,来创建克隆对象。
15.如权利要求14所述的计算机可读介质,其特征在于,还具有用于执行以下步骤的计算机可执行指令
将请求事件应用于所述克隆对象。
16.如权利要求15所述的计算机可读介质,其特征在于,还具有用于执行以下步骤的计算机可执行指令
在所述请求事件结束之后,将所述克隆对象返回到克隆对象外壳。
17.如权利要求14所述的计算机可读介质,其特征在于,还具有用于执行以下步骤的计算机可执行指令
修改属性的属性表达式中的变量。
18.一种具有计算机可执行指令的计算机可读介质,其特征在于,所述指令用于执行各步骤,包括
接收所述克隆对象外壳的选择,其中所述克隆对象外壳指向共享对象和属性集合的至少之一,
显示所述共享对象和所述属性集合的至少之一,
接收设计事件,以及
将所述设计事件应用于所述共享对象和所述属性集合的至少之一。
CNB2005101036656A 2004-10-05 2005-09-05 要求事件的对象克隆 Expired - Fee Related CN100470466C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/958,849 2004-10-05
US10/958,849 US20060090164A1 (en) 2004-10-05 2004-10-05 Object cloning for demand events

Publications (2)

Publication Number Publication Date
CN1758219A true CN1758219A (zh) 2006-04-12
CN100470466C CN100470466C (zh) 2009-03-18

Family

ID=36129854

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005101036656A Expired - Fee Related CN100470466C (zh) 2004-10-05 2005-09-05 要求事件的对象克隆

Country Status (5)

Country Link
US (1) US20060090164A1 (zh)
EP (1) EP1669859A3 (zh)
JP (1) JP2006107483A (zh)
KR (1) KR20060050489A (zh)
CN (1) CN100470466C (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107908727A (zh) * 2017-11-14 2018-04-13 郑州云海信息技术有限公司 存储对象克隆方法、装置、设备及计算机可读存储介质
CN109564564A (zh) * 2014-02-19 2019-04-02 斯诺弗雷克计算公司 克隆目录对象

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7146532B2 (en) * 2001-02-05 2006-12-05 Affiniti, Inc. Persistent session and data in transparently distributed objects
US7107081B1 (en) 2001-10-18 2006-09-12 Iwao Fujisaki Communication device
US8090402B1 (en) 2003-09-26 2012-01-03 Iwao Fujisaki Communication device
US8121635B1 (en) 2003-11-22 2012-02-21 Iwao Fujisaki Communication device
JP4664926B2 (ja) * 2003-12-22 2011-04-06 ドナルドソン カンパニー,インコーポレイティド シール構造を備えるフィルタエレメントおよびその製造方法
JP4144885B2 (ja) * 2004-12-28 2008-09-03 インターナショナル・ビジネス・マシーンズ・コーポレーション アプリケーション・オブジェクトの再利用方法
US8340726B1 (en) 2008-06-30 2012-12-25 Iwao Fujisaki Communication device
US20100057787A1 (en) * 2008-08-28 2010-03-04 International Business Machines Corporation Method, system, and computer program product for cloning of distributed and stateful systems
US9760380B2 (en) 2012-03-14 2017-09-12 Microsoft Technology Licensing, Llc Using grammar to serialize and de-serialize objects
KR101960305B1 (ko) * 2012-07-04 2019-03-20 엘지전자 주식회사 터치 스크린을 포함하는 디스플레이 장치 및 그 제어 방법
KR102058990B1 (ko) * 2012-09-19 2019-12-24 엘지전자 주식회사 모바일 디바이스 및 그 제어 방법
CN103929497B (zh) * 2014-04-30 2017-09-15 天脉聚源(北京)传媒科技有限公司 一种实时推送消息的方法及服务器

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6314558B1 (en) * 1996-08-27 2001-11-06 Compuware Corporation Byte code instrumentation
US6401101B1 (en) * 1998-06-01 2002-06-04 Trident Systems, Inc. Method, server/computer and data structure for implementation of complex objects in an object-oriented database
US8640090B2 (en) * 2003-11-10 2014-01-28 Sap Ag Active and modifiable data dictionary
WO2006063118A2 (en) * 2004-12-07 2006-06-15 Pure Networks, Inc. Network management

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109564564A (zh) * 2014-02-19 2019-04-02 斯诺弗雷克计算公司 克隆目录对象
CN109564564B (zh) * 2014-02-19 2024-04-05 斯诺弗雷克公司 克隆目录对象
CN107908727A (zh) * 2017-11-14 2018-04-13 郑州云海信息技术有限公司 存储对象克隆方法、装置、设备及计算机可读存储介质
CN107908727B (zh) * 2017-11-14 2021-06-29 郑州云海信息技术有限公司 存储对象克隆方法、装置、设备及计算机可读存储介质

Also Published As

Publication number Publication date
CN100470466C (zh) 2009-03-18
EP1669859A2 (en) 2006-06-14
US20060090164A1 (en) 2006-04-27
JP2006107483A (ja) 2006-04-20
KR20060050489A (ko) 2006-05-19
EP1669859A3 (en) 2008-12-31

Similar Documents

Publication Publication Date Title
CN100470466C (zh) 要求事件的对象克隆
US7418670B2 (en) Hierarchical in-place menus
CN1684034A (zh) 用以执行命令绑定的数据绑定机制的应用
US7568035B2 (en) Command binding determination and implementation
US10430253B2 (en) Updating workflow nodes in a workflow
US9262158B2 (en) Reverse engineering user interface mockups from working software
US20090013061A1 (en) Custom operating system via a web-service
CN1755645A (zh) 选择用于复验自动化的测试实例执行行为的系统和方法
JP6529505B2 (ja) インタラクティブ開発環境からソフトウェアアーチファクトをインクリメンタルにコンパイルすること
CN104412249A (zh) 基于云的文件系统内的文件处置
US20070198940A1 (en) Logical representation of a user interface form
CN1525328A (zh) 为复制文件管理多个文件状态的方法
CN1834906A (zh) 丰富数据绑定应用程序
US7631272B2 (en) Focus scope
US7296043B2 (en) Memory file size adjustment
KR20040063837A (ko) 언어 독립 구문으로 매크로를 기록하기 위한 방법 및 시스템
US10509641B2 (en) Optimizing feature deployment based on usage pattern
US8103559B2 (en) Maintenance of group shared inventories in a virtual universe
CN112148276A (zh) 用于深度学习的可视化编程
EP4046024A1 (en) Generating and attributing unique identifiers representing performance issues within a call stack
CN114072787A (zh) 用于促进文档审核的快速数据输入的系统和方法
US10732946B2 (en) Simulation-based code duplication
CN112667218A (zh) 一种处理方法、装置、设备及存储介质
KR101219960B1 (ko) 엔터티 패턴들을 사용하여 데이터 모델의 구조를 캡처하는시스템 및 방법
US20080016492A1 (en) Modeled types-attributes, aliases and context-awareness

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090318

Termination date: 20140905

EXPY Termination of patent right or utility model