抽象工厂模式在生成武器装备模型中的应用.pdf
《抽象工厂模式在生成武器装备模型中的应用.pdf》由会员分享,可在线阅读,更多相关《抽象工厂模式在生成武器装备模型中的应用.pdf(5页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、江苏省系统工程学会第十届学术年会抽象工厂模式在生成武器装备模型中的应用白景波,吴卫(解放军理工大学工程兵工程学院。江苏南京2 1 0 0 0 7)摘要:随着面向对象设计技术的日益广泛运用作为可复用技术基础的设计模式也得到了深入研究。抽象工厂模式是所有形态的工厂模式中最为抽象和最具一般性的一种形态。抽象:【厂模式可以向客户端提供一个接口,使得客户端在不必指定产品的具体类型的情况下,刨建多个产品族中的产品对象。本文结合C 撑语言,就创建模式中的A b s t r a c tF a c t o r y 模式给出一种生成武器装备模型方法。该方法可以有效地解决仿真武器装备模型建立中代码重用和系统可扩展问
2、题。关键词:抽象工厂,设计模式,武器装备模型0 引言武器装各模型的生成是作战仿真中的一个重要环节,完善、高效的武器模型生成是判断仿真软件开发的重要标志。武器装备模型的生成是繁杂的,对于系统中大量存在很多相似性的武器装备。如果为每辆装备单独创建一个对象,那就必须创建很多对象,会产生很多的代码冗余。造成代码的重用性差,一旦系统的业务逻辑发生变化。比如增加一个新的演习单位。将带来一系列产品的变化,增加一种新研发的装备,客户从表现层到系统的核心逻辑都要变化。因此可扩展性也很差。因此,如何在仿真高效实现武器装备模型的建立,如何控制仿真应用程序的复杂度,如何构建可复用的仿真应用组件,这些都是目前迫切需要解
3、决的问题。在仿真系统的研究中。我们提出这样一种研究思路:将设计模式的思想引入武器装备模型的建立之中,具体解决交互式仿真领域中特定的设计问题。l 抽象工厂模式介绍抽象工厂模式提供一个创建一系列相关或相互依赖的对象的接口,而无须指定具体的类。任何抽象工厂都包含以下四大部分:抽象工厂:为创建对象提供一般接口。具体工厂:抽象工厂的实现。抽象产品:定义了被创建对象的一般接口。具体产品:抽象产品的实现,即实际对象。模式结构如图l 所示。图l 抽象工厂模式的U M L 结构图在图1 中,C l i e n t 为客户端,使用A b s t r a c t F a c t o r y 和A b s t r a
4、 c t P r o d u c t 类声明的接口,抽象工厂模式可以使客户端在不必指定具体类型的情况下,创建多个产品族中的对象;A b s t r a c t F a c t o 巧声明一个创建抽象产品对象的操作接C I C o n c r e t e F a c t o r y 实现刨建具体产品对象的操作;A b s t r a c t P r o d u c t 为-类产品对象声明一个接口;P r o d u c t 定义一个将被相应的具体工厂创建的产品对象实现A b s t r a c t P r o d u c t5 3 9江苏省系统工程学会第十届学术年会的接口。在图l 中,带箭头实线
5、表示调用,虚线表示创建,带空心三角型箭头的实线表示继承。抽象的工厂模式具有很多优点:(1)分离具体的类:客户端只需要通过抽象工厂提供的统一接口,就可以获得所需的产品实例,甚至连具体产品的类名也在具体工厂的实现中被分离出来了,而不会出现在客户端代码中。(2)易于交换产品序列:一个具体的工厂类在一个应用中仅出现一次,即在它初始化的时候,这使得更换一个工厂的时候变得很容易。它只需改变具体的工厂即可使用不同的产品配置。(3)有利于产品的一致性:当一个系列中产品对象被设计成一起工作时,一个应用一次只能使用同一个系列中的对象。2 抽象工厂的使用在仿真中,考虑一个由不同参演部队和类型的仿真成员组成的仿真系统
6、,如参演的红军蓝军,每个单位都包含飞机、坦克、卡车等仿真成员,它们在公共的环境中移动和作用。仿真成员必须能够为一些其他仿真成员定期地提供它的当前状态(如位置、速度),例如,不同一个飞机可能对所有坦克的位置感兴趣,这些信息在请求下被发送,按照给定的频率,时时更新数据。一段时间以后,仿真成员的兴趣可能发生改变。例如,先前的飞机可能对坦克的位置不感兴趣了,而对卡车的位置信息发生了兴趣。在仿真成员的数量随时可能发生变化的同时,仿真系统中武器装备的样式也会因为假想敌的不同而不同。分析上述系统特点,我们不难得出四点结论:(1)系统中可能包含大量的仿真成员,每个仿真成员都可能与别的仿真成员发生联系:(2)仿
7、真成员之间的数据交互可能是巨大的和频繁的;(3)仿真成员的数目和仿真成员之间的通信路径可能也在不断地发生变化,这是因为一个成员可能放弃它先前感兴趣的成员的状态,或者一个成员可能已经离开了系统,或者一个新的成员已经加入了系统。(4)一支参演部队的改变可能会早成所有武器装备样式的改变。因此,在这样的一个系统中,设计和实现扩充武器装备的类库满足系统的基本要求是一个核心问题。我们不能采取控制程序与各种武器装备之间直依赖的关系,这会导致客户程序与成员之间有许多连接,大量的相互连接使得系统成为一个不可分割的整体,对系统行为的任何改动都十分困难,成员之间是紧密耦合的关系,大大降低了成员的可复用性和系统的可扩
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 抽象 工厂 模式 生成 武器装备 模型 中的 应用
限制150内