2014-07-16 21:53:19|?次阅读|上传:wustguangh【已有?条评论】发表评论
关键词:CAA, CATIA|来源:唯设编程网
这部分介绍为了创建你的实现对象如何随工具一起提供客户程序。它是一个程序员向导,用简单地例子展示了如何实现创建一个全局新建函数的方法以及如何编写代码,实现CATICreateInstance接口或者一个工厂。
组件是构造应用程序的基本单位。一个组件是一段你不可以更改,但是你可以通过它暴露的接口使用的可执行代码,这种方式隐藏了它的实现细节,即使在运行时也可以被另一个提供相同接口和完成相同任务的组件替换,也确保了使用它的客户应用程序向上兼容。
与过去和现在多数大型程序不同,从1988年的第三版(Version 3),CATIA就提供了应用程序的编程接口,允许用户在其基础上进行二次开发,比如IUA命令,GLL接口函数和批处理程序。从1992年的第四版(Version 4),针对数据提供了同样的开放接口,你可以添加你自己的程序数据到CATIA数据中。即使CATIA本身不是一个巨型程序,你添加的应用程序和数据满足特定的组件定义,因此你可以在新发布的CATIA中重用你的应用程序,而不需要重新编译他们,同时你的程序数据也不需要进行迁移。
在面向对象技术的帮助下,数据和软件构成一个完整的对象,现在的组件由对象构成。对象提供组件需要的特征:
我们将会在这篇文章看到CAA V5组件由什么组成,你如何作为CAA V5组件提供者创建这些组件,以及你如何以客户程序编程人员使用和扩展这些组件。
客户应用程序编程人员在头脑中通常对CAA V5的组件有一个逻辑视图,认为CAA V5组件是一个暴露接口的对象。相反,组件提供者有CAA V5组件详细的物理视图,即他/她知道组件由哪些C++类构成,这些C++类如何装配以构成这个组件,以及哪个接口被哪个类实现。
作为一名应用程序的编程人员,你通常需要创建组件并且使用它们提供的接口操作他们,而不用关注它们内部结构的实现方式和复杂度。比如,当你需要创建一个圆,你调用圆这个组件的工厂,该工厂创建一个圆的实例并且返回一个指向CATICircle接口的指针。然后你需要移动这个圆,为了获取与这个圆组件的实例对应的CATIMove接口指针,你调用QueryInterface方法。然后你也许需要绘制它,或者修改它的显示属性。无论你需要针对该圆进行操作的任何时候,如何你没有一个对应的指针,你都需要获取一个指向合适接口的指针,你使用这个指针以调用与这个组件对应的接口所暴露的方法。
图 1: 客户应用程序员所见的一个简单、单一组件
你关于你所操作的组件视图是一个逻辑视图,该视图使你认为组件是简单并且自包含的。