diff --git a/src/CounterDrone.Core/Algorithms/AlgorithmFactory.cs b/src/CounterDrone.Core/Algorithms/AlgorithmFactory.cs
index 03e7a3c..b4bb48a 100644
--- a/src/CounterDrone.Core/Algorithms/AlgorithmFactory.cs
+++ b/src/CounterDrone.Core/Algorithms/AlgorithmFactory.cs
@@ -6,27 +6,23 @@ namespace CounterDrone.Core.Algorithms
/// 算法工厂 — 统一管理算法组件的创建与替换
public static class AlgorithmFactory
{
- private static readonly Dictionary _registry = new()
+ private static readonly Dictionary> _registry = new()
{
- { typeof(ICloudDispersionModel), typeof(GaussianPuffDispersion) },
- { typeof(IDamageModel), typeof(DamageModelRouter) },
- { typeof(IDefenseAdvisor), typeof(DefaultDefenseAdvisor) },
+ [typeof(ICloudDispersionModel)] = () => new GaussianPuffDispersion(),
+ [typeof(IDamageModel)] = () => new DamageModelRouter(),
+ [typeof(IDefenseAdvisor)] = () => new DefaultDefenseAdvisor(null),
};
- /// 替换某个算法实现(第三方接入点)
- public static void Register() where TImpl : TInterface, new()
+ public static void Register(Func