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

文档序号:8498626阅读:来源:国知局
数,在执行所述指令函数的过程中还包括:将模式参数传递至模式工厂;通过模式工厂确定模式参数对应的模式,并创建模式对应的模式实例;调用模式实例中的用于执行所述模式下的所述指令的模式函数;执行模式函数以完成所述指令在所述模式下的仿真操作。上述方法采用了双层工厂模式,满足“开发封闭”原则,即对扩展开放,对修改封闭,很好地保证了多信号雷达回波模拟器的仿真功能的实现。
[0096]在上述本发明公开的实施例的基础上,本发明还对创建实例的具体方式进行了详细说明,具体如下:
[0097]预先定义不同指令的对应的指令枚举值,并设定各个指令枚举值对应的指令处理类;以及,预先定义不同模式对应的模式枚举值,并设定各个模式枚举值对应的模式处理类。
[0098]具体的,假设某项目需要创建多个模式的实例,具体做法是,预先将多个工作模式(如气象瑞流、信标、风切变等)声明为枚举类型(Enum),在每个枚举的属性(Descript1n)中增加该模式对应的模式处理类(即图2中“《具体模式产品》Mode”),每个模式对应的模式处理类实现该模式下具体的仿真控制操作,比如参数装订、开始、停止等操作。本发明具体给出了如下定义模式的枚举值的代码以作详细说明。
[0099]public enum EnumMode
[0100]{
[0101]LocalCtrlWeatherTurbulence
[0102][Descript1n("LocalCtrlWeatherTurbulence"]
[0103]WeatherTurbulencej // 气象端流模式
[0104]LocalCtrlWindShear
[0105][Descript1n ("LocalCtrlWindShear"]
[0106]WindShearj // 风切变模式
[0107]LocalCtrlMarker
[0108][Descript1n ("LocalCtrlMarker")]
[0109]Marker, // 信标模式
[0110]LocalCtrlTerrainObstacles
[0111][Descript1n("LocalCtrlTerrainObstacles"]
[0112]TerrainObstacles, //地形障碍物探测模式
[0113]MappingPoint LocalCtrlMappingPoint
[0114][Descript1n (^LocalCtrIMappingPoint^)]
[0115]MappingPoint, //真波束地形测绘模式
[0116]}
[0117]以信标模式为例,程序执行过程是:
[0118]首先获取到信标模式对应的处理类名称(“LocalCtrIMarker”);
[0119]然后通过反射机制动态查找到程序集中此处理类,即LocalCtrlMarker,并自动生成该类的对象实例;
[0120]最后,根据情况任意调用该实例的相关方法,比如参数装订、开始、停止等。利用这种方式,可有效避免出现多个分支的情况。
[0121]基于上述方式,则,所述通过指令工厂确定所述指令参数对应的指令,并创建所述指令对应的指令实例,包括:
[0122]确定所述指令参数对应的指令;
[0123]查询所述指令对应的指令枚举值;
[0124]根据预先定义的指令枚举值与指令处理类的对应关系确定所述指令枚举值对应的指令处理类;
[0125]调用所述指令枚举值对应的指令处理类创建所述指令对应的指令实例。
[0126]所述通过所述模式工厂确定所述模式参数对应的模式,并创建所述模式对应的模式实例,包括:
[0127]确定所述模式参数对应的模式;
[0128]查询所述模式对应的模式枚举值;
[0129]根据预先定义的模式枚举值与模式处理类的对应关系确定所述模式枚举值对应的模式处理类;
[0130]调用所述模式枚举值对应的模式处理类创建所述模式对应的模式实例。
[0131]需要说明的是,如果要增加新的模式,只需增加定义该模式的模式枚举值,并增加相应的模式处理类即可,极大增强了系统的可扩展性,且满足开发封闭的原则,而且不会对其他模式造成误操作,很好地保证了多信号雷达回波模拟器的功能实现。
[0132]上述本发明公开的实施例中详细描述了方法,对于本发明的方法可采用多种形式的系统实现,因此本发明还公开了一种系统,下面给出具体的实施例进行详细说明。
[0133]请参阅附图4,为本发明公开的一种仿真系统的结构示意图,该系统应用于上述采用双层工厂架构的业务逻辑层(BLL),该系统具体包括:
[0134]接收单元11,用于接收用户发送的仿真请求,所述仿真请求包括指令参数和模式参数;
[0135]指令实例创建单元12,用于通过指令工厂确定所述指令参数对应的指令,并创建所述指令对应的指令实例;
[0136]需要说明的是,所述指令实例创建单元在通过指令工厂确定所述指令参数对应的指令时,具体用于:
[0137]通过指令工厂确定参数装订指令参数对应的参数装订指令;
[0138]或,通过指令工厂确定开始指令参数对应的开始指令;
[0139]或,通过指令工厂确定结束指令参数对应的结束指令。
[0140]指令函数调用单元13,用于调用所述指令实例中的用于执行所述指令的指令函数;
[0141]指令函数执行单元14,用于执行所述指令函数。
[0142]具体的,所述指令函数执行单元14包括如下子单元:
[0143]参数传递子单元15,用于将所述模式参数传递至模式工厂;
[0144]模式实例创建子单元16,用于通过所述模式工厂确定所述模式参数对应的模式,并创建所述模式对应的模式实例;
[0145]模式函数调用子单元17,用于调用所述模式实例中的用于执行所述模式下的所述指令的模式函数;
[0146]仿真操作执行子单元18,用于执行所述模式函数以完成所述指令在所述模式下的仿真操作。
[0147]需要说明的是,所述系统还包括:
[0148]设定单元,用于预先定义不同指令的对应的指令枚举值,并设定各个指令枚举值对应的指令处理类;以及,预先定义不同模式对应的模式枚举值,并设定各个模式枚举值对应的模式处理类。
[0149]则,所述指令实例创建单元具体用于:
[0150]确定所述指令参数对应的指令;
[0151]查询所述指令对应的指令枚举值;
[0152]根据预先定义的指令枚举值与指令处理类的对应关系确定所述指令枚举值对应的指令处理类;
[0153]调用所述指令枚举值对应的指令处理类创建所述指令对应的指令实例。
[0154]所述模式实例创建子单元具体用于:
[0155]确定所述模式参数对应的模式;
[0156]查询所述模式对应的模式枚举值;
[0157]根据预先定义的模式枚举值与模式处理类的对应关系确定所述模式枚举值对应的模式处理类;
[0158]调用所述模式枚举值对应的模式处理类创建所述模式对应的模式实例。
[0159]需要说明的是,上述各个单元的具体功能实现已在方法实施例中详细描述,本实施例不再赘述,具体请参见方法实施例中的相关描述。
[0160]综上所述:
[0161]本发明公开了一种仿真方法,接收用户发送的仿真请求,所述仿真请求包括指令参数和模式参数;通过指令工厂确定指令参数对应的指令,并创建所述指令对应的指令实例;调用指令实例中的用于执行所述指令的指令函数;执行指令函数,其中,在执行所述指令函数的过程中还包括:将模式参数传递至模式工厂;通过模式工厂确定
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1