6.7 KiB
6.7 KiB
威胁源仿真库设计文档
接口设计
核心接口继承关系
classDiagram
ISimulationElement <|-- ITarget
ISpectralCharacteristics <|-- ITarget
ISimulationElement <|.. SimulationElement
ISpectralCharacteristics <|.. SimulationElement
SimulationElement <|-- Tank
ITarget <|.. Tank
class ISimulationElement {
+string Id
+Vector3D Position
+Vector3D Velocity
+double Speed
+Orientation Orientation
+bool IsActive
+Update(deltaTime)
+Activate()
+Deactivate()
+GetStatus()
}
class ISpectralCharacteristics {
+double RadarCrossSection
+double InfraredRadiationIntensity
+double UltravioletRadiationIntensity
+double MillimeterWaveRadiationIntensity
}
class ITarget {
+string Type
+double MillimeterWaveRadiationTemperature
+double LaserReflectivity
+double Length
+double Width
+double Height
+double Health
}
设计说明
-
接口分层
ISimulationElement: 定义所有仿真元素的基本行为,包括位置、运动状态和生命周期管理ISpectralCharacteristics: 定义实体的频谱特性,包括雷达散射截面积、红外辐射等ITarget: 继承上述两个接口,并添加目标特有的属性(尺寸、生命值等)
-
实现层次
SimulationElement: 抽象基类,实现ISimulationElement和ISpectralCharacteristics的基本功能Tank: 继承SimulationElement并实现ITarget接口,获得基类功能的同时实现目标特有的属性和行为
-
设计优势
- 接口隔离:将不同职责的功能分散到不同接口中
- 代码复用:通用功能在
SimulationElement中实现 - 扩展性:新的实体类型可以方便地接入系统
- 维护性:频谱特性的修改只需要关注
ISpectralCharacteristics接口
干扰处理
干扰处理架构
├── 干扰类型(JammingType)
│ ├── 红外干扰(Infrared)
│ ├── 毫米波干扰(MillimeterWave)
│ ├── 激光干扰(Laser)
│ ├── 射频干扰(RadioFrequency)
│ └── GPS干扰(GPS)
│
├── 干扰模式(JammingMode)
│ ├── 噪声干扰(Noise)
│ ├── 欺骗干扰(Deception)
│ ├── 阻塞干扰(Blocking)
│ └── 扫频干扰(Sweep)
│
├── 干扰事件(JammingEvent)
│ ├── 红外干扰事件(InfraredJammingEvent)
│ ├── 毫米波干扰事件(MillimeterWaveJammingEvent)
│ ├── 激光干扰事件(LaserJammingEvent)
│ └── 射频干扰事件(RadioFrequencyJammingEvent)
│
├── 干扰参数(JammingParameters)
│ ├── 干扰类型(Type)
│ ├── 干扰功率(Power)
│ ├── 干扰方向(Direction)
│ ├── 干扰源位置(SourcePosition)
│ ├── 干扰角度范围(AngleRange)
│ ├── 干扰频率(Frequency)
│ ├── 持续时间(Duration)
│ ├── 干扰模式(Mode)
│ └── 干扰开始时间(StartTime)
│
├── 干扰处理接口(IJammable)
│ ├── 支持的干扰类型(SupportedJammingTypes)
│ ├── 干扰状态(IsJammed)
│ ├── 应用干扰(ApplyJamming)
│ └── 清除干扰(ClearJamming)
│
├── 干扰处理基类(JammingHandler)
│ ├── 干扰状态(IsJammed)
│ ├── 当前干扰参数(CurrentJamming)
│ ├── 累积干扰时间(_elapsedTime)
│ ├── 更新干扰状态(Update)
│ ├── 处理干扰(HandleJamming)
│ ├── 清除干扰(ClearJamming)
│ ├── 干扰应用回调(OnJammingApplied)
│ └── 干扰清除回调(OnJammingCleared)
│
├── 可干扰组件(JammableComponent)
│ ├── 干扰处理器(JammingProcessor)
│ │ ├── 干扰阈值映射(_jammingThresholds)
│ │ ├── 设置干扰阈值(SetJammingThreshold)
│ │ ├── 检查干扰是否有效(IsJammingEffective)
│ │ │ ├── 距离衰减计算
│ │ │ ├── 角度因素计算
│ │ │ └── 与阈值比较
│ │ ├── 处理干扰(HandleJamming)
│ │ └── 清除干扰(ClearJamming)
│ │
│ ├── 支持的干扰类型(SupportedJammingTypes)
│ ├── 干扰状态(IsJammed)
│ ├── 位置提供委托(_positionProvider)
│ ├── 干扰应用事件(_onJammingApplied)
│ ├── 干扰清除事件(_onJammingCleared)
│ └── 加载干扰配置(LoadJammingConfigFromThreshold)
│
└── 干扰响应实现
├── 导引系统干扰响应
│ ├── 激光半主动导引系统(LaserSemiActiveGuidanceSystem)
│ │ ├── 激光干扰事件处理(OnLaserJamming)
│ │ ├── 干扰应用处理(HandleJammingApplied)
│ │ └── 干扰清除处理(HandleJammingCleared)
│ │
│ ├── 毫米波导引系统(MillimeterWaveGuidanceSystem)
│ │ ├── 毫米波干扰事件处理(OnMillimeterWaveJamming)
│ │ ├── 干扰应用处理(HandleJammingApplied)
│ │ └── 干扰清除处理(HandleJammingCleared)
│ │
│ ├── 红外成像导引系统(InfraredImagingGuidanceSystem)
│ │ ├── 红外干扰事件处理(OnInfraredJamming)
│ │ ├── 干扰应用处理(HandleJammingApplied)
│ │ └── 干扰清除处理(HandleJammingCleared)
│ │
│ └── 红外指令导引系统(InfraredCommandGuidanceSystem)
│
└── 指示器干扰响应
├── 激光指示器(LaserDesignator)
│ ├── 激光干扰事件处理(OnLaserJamming)
│ ├── 干扰应用处理(HandleJammingApplied)
│ └── 干扰清除处理(HandleJammingCleared)
│
├── 激光驾束仪(LaserBeamRider)
│ ├── 激光干扰事件处理(OnLaserJamming)
│ ├── 干扰应用处理(HandleJammingApplied)
│ └── 干扰清除处理(HandleJammingCleared)
│
└── 红外测角仪(InfraredTracker)
├── 红外干扰事件处理(OnInfraredJamming)
├── 干扰应用处理(HandleJammingApplied)
└── 干扰清除处理(HandleJammingCleared)