Difference between revisions of "Zh/Documentation/DevGuide/WritingUNO/Component Architecture"
From Apache OpenOffice Wiki
< Zh | Documentation
m (New page: {{Documentation/DevGuide/WritingUNOTOC/Zh/ |ShowPrevNext=block |PrevPage=Zh/Documentation/DevGuide/WritingUNO/Using UNOIDL to Specify New Components |NextPage=Zh/Documentation/DevGuide/Wri...) |
m |
||
(One intermediate revision by the same user not shown) | |||
Line 1: | Line 1: | ||
− | {{Documentation/DevGuide/WritingUNOTOC/Zh | + | {{Documentation/DevGuide/WritingUNOTOC/Zh |
|ShowPrevNext=block | |ShowPrevNext=block | ||
|PrevPage=Zh/Documentation/DevGuide/WritingUNO/Using UNOIDL to Specify New Components | |PrevPage=Zh/Documentation/DevGuide/WritingUNO/Using UNOIDL to Specify New Components | ||
Line 16: | Line 16: | ||
− | [[Image:ComponentOverview2_Zh.png|none|thumb| | + | [[Image:ComponentOverview2_Zh.png|none|thumb|550px|实现三个 UNO 对象的组件]] |
图示中显示的组件包含三个实现的对象。其中的两个对象 srv1 和 srv2 实现单个服务规范(Service1 和 Service2),而 srv3_4 一次支持两个服务(Service3 和 Service4)。 | 图示中显示的组件包含三个实现的对象。其中的两个对象 srv1 和 srv2 实现单个服务规范(Service1 和 Service2),而 srv3_4 一次支持两个服务(Service3 和 Service4)。 |
Latest revision as of 09:13, 23 July 2008
UNO 组件可以是 JAVA 存档(JAR)文件(Java 组件)或动态链接库(C++ 组件),它们可以实例化对象并将自身集成到 UNO 环境中。为此,组件必须包含要由 UNO 服务管理器调用的特定静态方法 (Java) 或导出函数 (C++)。在下文中,这些方法称为组件操作。
对于组件中实现的每个对象,必须存在一个提供单服务工厂的方法。通过此方法,服务管理器可以获取特定对象的单个工厂,并要求工厂创建组件中包含的对象。而且,必须存在一个写入有关组件的注册信息的方法,这个方法将在使用服务管理器注册组件时用到。在 C++ 中,还需要一个函数来通知组件加载程序有关建立组件所用的编译程序的信息。
组件中的组件操作始终是必需的,并且与语言相关。在稍后讨论 Java 和 C++ 时,我们将演示如何编写组件操作。
图示中显示的组件包含三个实现的对象。其中的两个对象 srv1 和 srv2 实现单个服务规范(Service1 和 Service2),而 srv3_4 一次支持两个服务(Service3 和 Service4)。
组件中实现的对象必须支持许多从 OpenOffice.org 应用程序的各个部分都可以完全使用的核心 UNO 接口。这些核心接口将在下一节中讨论。对象的各个功能由对象导出的附加接口提供。通常,这些接口包含在服务规范中。
Content on this page is licensed under the Public Documentation License (PDL). |