一种仿真方法及系统的制作方法_2

文档序号:8498626阅读:来源:国知局
据提供的附图获得其他的附图。
[0062]图1为本发明实施例公开的传统的“三层架构”示意图;
[0063]图2为本发明实施例公开的“双层工厂”架构示意图;
[0064]图3为本发明实施例公开的一种仿真方法流程示意图;
[0065]图4为本发明实施例公开的一种仿真系统结构示意图。
【具体实施方式】
[0066]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0067]本发明的说明书和权利要求书及上述附图中的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,以便包含一系列单元的过程、方法、系统、产品或设备不必限于那些单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它单元。
[0068]由【背景技术】可知,现有技术中常用的控制类软件对修改开放,违背了面向对象的开发封闭的封装原则,极易对其他工作模式对应的“switch”分支中的源码造成误操作,因此不能很好地保证多雷达回波模拟器的功能实现。
[0069]因此,本发明在传统的“三层架构”设计的基础上结合工厂模式和反射机制构建了一种仿真方法,应用于多信号雷达回波模拟器,具体的,接收用户发送的仿真请求,所述仿真请求包括指令参数和模式参数;通过指令工厂确定指令参数对应的指令,并创建所述指令对应的指令实例;调用指令实例中的用于执行所述指令的指令函数;执行指令函数,其中,在执行所述指令函数的过程中还包括:将模式参数传递至模式工厂;通过模式工厂确定模式参数对应的模式,并创建模式对应的模式实例;调用模式实例中的用于执行所述模式下的所述指令的模式函数;执行模式函数已完成所述指令在所述模式下的仿真操作。上述方法采用了双层工厂模式,满足“开发封闭”原则,即对扩展开放,对修改封闭,很好地保证了多信号雷达回波模拟器的仿真功能的实现。
[0070]本发明还公开了一种仿真系统。
[0071]为使本发明的上述目的、特征和优点能够更加明显易懂,下面先对本发明用到的“三层架构”、工厂模式和反射机制进行简单介绍。
[0072]传统的“三层架构”模式如附图图1所示,由上至下依次为:表现层(Π)、业务逻辑层(BLL)和数据访问层(DAL),区分层次的目的即为“高内聚,低耦合”的思想,其中,表现层(UI)是展现给用户的界面,即用户在使用一个系统时的所见所得;业务逻辑层(BLL)是针对具体问题的操作,对数据业务逻辑处理;数据访问层(DAL)是对数据的直接操作。
[0073]工厂模式是设计模式的一种,通过一个专门负责实例化的类来获得具体的对象,通常将该类称为“工厂”,工厂类封装了相关对象的构造逻辑,分离了子类对象构造与定义,使得软件产品的可维护性大大增强。
[0074]反射机制(Reflect1n)是.NET中的重要机制,允许程序开发人员在程序执行期间查看程序集的元数据、探索类内容、进行后期绑定、动态创建类型等。
[0075]根据多信号雷达回波模拟器控制类软件的实际需求描述,主要有两个需要初始化较多实例的地方,一是指令集合,包括参数装订、开始、停止、自检、复位、存储板的擦除、下载、上传等,每个操作的执行都完全不同,需要构造不同的实例区别调用;二是模式集合,包括点目标、一维距离向模式、气象湍流模式等等。两个集合相互联系,即参数装订、开始、停止操作需要区分工作模式,其他指令则不需要区分模式,因此,本申请提出在业务逻辑层上(BLL)采用双层工厂架构设计多信号雷达回波模拟器控制类软件。
[0076]如本申请附图2所示,双层工厂包括《指令工厂》和《模式工厂》两个工厂类,其中,《具体指令产品》实现公共的《指令抽象产品》,该《指令抽象产品》类提供统一的接口函数,如指令发送方法等,《指令工厂》能够动态产生具体指令的实例,《模式工厂》用来产生具体模式的实例,《具体模式产品》实现公共的《模式抽象产品》,该《模式抽象产品》类包含所有模式所需实现的公共方法,如参数装订、开始和停止等。在双层工厂架构中,指令工厂是核心,是连接外界接口调用及触发模式工厂的桥梁。
[0077]基于上述采用双层工厂架构设计的控制类软件,可以控制多信号雷达回波模拟器实现各种仿真功能,需要说明的是,针对不区分模式的指令,直接根据指令工厂产生对应的实例即可,对此,本申请将不详细说明,对于区分模式的指令将需要指令工厂与模式工厂相互配合完成,下面结合附图和【具体实施方式】对该种情况作进一步详细的说明。
[0078]请参阅附图3,为本发明公开的一种仿真方法的流程示意图,该方法应用于上述采用双层工厂架构的业务逻辑层(BLL),该方法具体包括:
[0079]SlOl:接收用户发送的仿真请求,所述仿真请求包括指令参数和模式参数。
[0080]用户的仿真请求通过表示层(UI)调用由业务逻辑层(BLL)提供的统一的对外接口(即图2中的《调用类》)发送至业务逻辑层(BLL)。
[0081]S102:通过指令工厂确定所述指令参数对应的指令,并创建所述指令对应的指令实例。
[0082]需要说明的是,所述通过指令工厂确定所述指令参数对应的指令,包括:通过指令工厂确定参数装订指令参数对应的参数装订指令;或,通过指令工厂确定开始指令参数对应的开始指令;或,通过指令工厂确定结束指令参数对应的结束指令。
[0083]由统一的对外接口接收的用户发送的指令参数传送至指令工厂,指令工厂即可确定该指令参数对应的指令,并对该指令进行实例化,创建该指令对应的指令实例。所述指令实例中包括用于执行所述指令的指令函数。
[0084]S103:调用所述指令实例中的用于执行所述指令的指令函数。
[0085]S104:执行所述指令函数,并在执行所述指令函数的过程中将所述模式参数传递至模式工厂。
[0086]需要说明的是,在执行指令函数的时候,会调用由统一的对外接口接收的用户发送的模式参数,并将所述模式参数传递至模式工厂。
[0087]S105:通过所述模式工厂确定所述模式参数对应的模式,并创建所述模式对应的模式实例。
[0088]对于雷达仿真来说,所述模式包括气象湍流模式、信标模式等。对其他多信号仿真领域,所述模式还可以包括其他内容,对此,本申请不作任何限定。
[0089]由统一的对外接口接收的用户发送的模式参数传送至模式工厂,模式工厂即可确定该模式参数对应的模式,并对该模式进行实例化,创建该模式对应的模式实例。所述模式实例中包括用于执行所述模式下的所述指令的模式函数。
[0090]S106:调用所述模式实例中的用于执行所述模式下的所述指令的模式函数。
[0091]需要说明的是,对于同一指令来说,不同的模式下,由不同的模式函数控制实现不同的操作,在本实施例中,不同的模式函数均嵌套在指令函数中,以便在指令函数执行的过程中,确定指令对应的模式后,创建相应的模式实例,并从模式实例中调用相应的模式函数。
[0092]S107:执行所述模式函数以完成所述指令在所述模式下的仿真操作。
[0093]此时,业务逻辑层(BLL)需要访问数据层(DAL),数据访问层(DAL)提供具体模式实现过程中的功能函数,包括文件接口、硬件板卡接口等,以完成所述指令在所述模式下的仿真操作。
[0094]需要说明的是,在本实施例中,由于模式函数是嵌套在指令函数中的,则步骤S104?S107也可认为是在执行指令函数的过程中所包含的具体步骤。
[0095]本实施例公开了一种仿真方法,接收用户发送的仿真请求,所述仿真请求包括指令参数和模式参数;通过指令工厂确定指令参数对应的指令,并创建所述指令对应的指令实例;调用指令实例中的用于执行所述指令的指令函数;执行指令函
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1