第一范文网 - 专业文章范例文档资料分享平台

CAA绠浠?- 鐧惧害鏂囧簱

来源:用户分享 时间:2025/5/23 18:37:37 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

分由开发者把握,一般可占到20% 。开发者通过向框架添加变化部分的代码把握其动作,而形成新的特定应用。框架根据是否针对特殊领域还是若干领域,可分为水平框架、垂直框架、复合文挡框架。

组件(Component):是软件的基本量子(单元)。COM是一种协议,它建立了一个软件模块同另一个软件模块之间的连接,然后再将其描述出来。当这种连接建立起来之后,两个模块就可以通过称为“接口”的机制来进行通讯。这些接口既不需要静态的或动态的连接入口点,也不需要编码很复杂的地址。COM对于接口的定义和接口的实现作了严格的区分。通过下面的IUnknown接口可以知道,在接口中只有接口方法的描述,而没有实现。

COM接口可以分为以下两类:标准接口和自定义接口。COM标准接口的名字以字母I打头。COM定义了大量的标准接口。如IClassFactory、IDispatch、IUnknown等。其中IUnknown接口最重要,因为所有其它接口都是从IUnknown接口直接或间接继承而来的。IUnkown接口定义了三个方法。

? HRESULT QueryInterface([in] REFIID riid,[out] void **ppv); ? ULONG AddRef(); ? ULONG Release();

COM定义的每一个接口都必须从IUnkown接口继承过来,换句话说,任何在COM对象上实现的接口必须以QueryInterface、AddRef和Release为前三个方法。其原因在于IUnkown接口提供了两个非常重要的特性:生存期控制和接口查询。客户程序只能通过接口与COM对象进行通信,虽然客户程序可以不管对象内部实现的细节,但它要控制对象存在与否。如果客户还要继续对对象进行操作,则它必须保证对象一直存在于内存中;如果客户对对象的操作已经完成,以后也不再需要该对象了,则应该及时地把对象释放掉,以提高系统资源的利用率。

IUnkown接口中的AddRef()和Release()负责对象引用计数,实现组件对象生命周期的管理。每当COM组件被引用一次就应调用一次AddRef()方法。而当客户端在释放COM组件的某个接口时就需要调用Release()方法。

另外,如果一个COM对象实现了多个接口,在初始时刻客户程序不太可能得到该对象的所有接口指针,它只会拥有一个接口指针。如果客户程序需要其它的指针,则利用IUnkown接口中的QueryInterface()方法是用于查询组件对象所实现的其它接口

组件既应当足够小,以便于维护;又应足够大,可具备相当的功能,可以被打包和插用。由于传统的客户/服务器(C/S)应用不能应付软件应用日益增加的复杂性。它们不能加入到

即插即用的环境之中。组件的特征提供了将一个应用程序分成若干个组件的机制。每个组件提供了一个相当专门的功能,它向框架的其余部分描述自己,以便别的组件能够访问它的功能。描述是通过说明性语言如IDL实现的,它本质上是把组件的接口与实现分离开来。由于组件是可单独维护、升级的,因此,组件不直接与别的组件通信是至关重要的。它必须通过使用框架或对象总线来实现组件之间的交互。

对象总线:对象总线是基本的中间件。它允许成千上万能够相互理解接口定义语言(IDL)的对象相互发生作用。这种作用对对象来说是完全透明的。对象总线把组件和框架的能力扩展到开放网络和其它伙伴应用程序。它使成千上万独立的软件单元在由不同操作系统、语言、硬件平台和编译工具组成的环境下互相无缝地交互运作。对象总线不仅提供对象之间的连接,它还提供对在总线上所有对象都有用的核心服务集(对象服务)。如:生命周期服务程序、安全性、持久性、命名等。

通过组件构造/修改软件,用框架把握软件结构,用对象总线连接事务,支持即插即用(Plug & Play)功能的扩展。

2) CATIA V5体系结构(Architecture Infrastructure)

CATIA V5的体系结构(Architecture Infrastructure)是一种面向行业应用的垂直框架体系结构,组件是CAD/CAM系统的各种几何特征和管理、分析单元。CATIA V5采用了多种支持组件技术的软件技术如:JAVA、COM/DCOM、CORBA等,内部模块全部采用CNEXT(CATIA 内部使用的一种C++语言)实现,结构单一。提供了多种开发接口,支持C++/JAVA、Automation API ,支持各种开发工具:CAA C++,JAVA ,VB,脚本语言。采用单继承,对象之间关系明确,体系结构严谨,维护容易。框架是一些应用如:2D/3D建模、分析、混合建模、制图、数控加工等,CATIA V5也称为领域(DOMAIN)或应用(APPLICATION)。并通过3D PLM PPR(PRODUCTS,PROCESS, RESOURCE)HUB产品总线连接起来。

CATIA V5 的一些框架:

? Framework Administration ? Framework AdvancedMathematics ? Framework AdvancedTopologicalOpe ? Framework AnalysisMeshingModel ? Framework ApplicationFrame ? Framework AutomationInterfaces ? Framework BasicTopologicalOpe

? Framework CATAnalysisBase ? Framework CATAnalysisGPSInterfaces ? Framework CATAnalysisInterfaces ? Framework CATAnalysisResources ? Framework CATAnalysisVisuInterfaces ? Framework CATAssemblyInterfaces ? Framework CATFunctSystemItf ? Framework CATHVDiagramInterfaces ? Framework CATHullConceptualInterfaces ? Framework CATIAApplicationFrame ? Framework CATIAV4Interfaces ? Framework CATMatInterfaces 框架通过公用接口来实现对象之间的交互。

根据CAD软件的特点和实际需要,CATIA 的设计模式比较简单,主要有工厂模式、层模式等。在面向对象的编程中,工厂模式是一种经常被使用到的模式。根据工厂模式实现的类可以根据提供的数据生成一组类中某一个类的实例,通常这一组类有一个公共的抽象父类并且实现了相同的方法,但是这些方法针对不同的数据进行了不同的操作。

CATIA中的具体实现如下例所示,做一条垂直于曲面的线。

对象继承关系 +---CATBaseUnknown | +---CATBaseDispatch | +---AnyObject | +---HybridShape | +---Line | +---HybridShapeLineNormal 工厂的继承关系 +---CATBaseUnknown | +---CATBaseDispatch | +---AnyObject | +---Factory | +---HybridShapeFactory

先在HybridShapeLineNormal对象设定做这条线的属性参数如:点、参考面,在公共抽象层Line中设定线的共同属性如坐标、法矢等,然后调用HybridShapeFactory中的AddNewLineNormal方法进行对象实例化。

CATIA V5 的产品总线PPR不是真正意义上的对象总线,缺乏真正对象总线的一些特征。它主要注重其它伙伴应用如EVOVIA LCA、DELMIA的互操作和集成,因此称之为“产品总线”。产品总线分层的,如机械设计基于Mechanical Modeler&Sketcher,产品功能定义、EBOM、DMU, 知识工程等与Mechanical Modeler&Sketcher基于3D PLM PPR HUB OPEN GATEWAY 而文档管理,PDM应用集成,配置管理等基于3D PLM ENTERPRISE ARCHITECTURE,并且全部应用都是基于CORBA,DCOM或J2EE之上。以实现真正意义上的对象总线功能。

1.3 基础知识准备

1.3.1 CATIA中一些基本概念

Workshop和Workbench是CATIA的功能模块的组织。CATIA将其功能细分,每个人都可以选择自己的模块进入进行设计,简化了界面。 如图1:

图1. 3 CATIA各功能模块组织

搜索更多关于: CAA绠浠?- 鐧惧害鏂囧簱 的文档
CAA绠浠?- 鐧惧害鏂囧簱.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c16ejj69ecu6tck09hlj8_2.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top