0

我有一个算法列表,我想在图像上运行以对其进行降噪。我有几种不同的算法来去噪我的照片。假设我有 denoise_1 和 denoise_2 和 denoise_3。但将来我需要添加 denoise_4、validation_four 等。

我需要在图片上运行所有的降噪,即使是添加新的降噪。

另外:如果我添加另一个算法,我必须通知系统。

我正在考虑使用策略和观察者模式,但我还没有找到可接受的解决方案。

这是正确的方法吗??

如果打开一个新线程,我发现了一个类似的线程,但我不明白解决方案,我深表歉意。

4

2 回答 2

0

是的策略很好:
让所有去噪算法实现一个通用接口。

于 2013-01-19T19:45:35.460 回答
0

假设您所有的算法都实现相同的DenoiseAlgorithm. 只需将所有算法放在 a 中List<DenoiseAlgorithm>,然后通过迭代该列表来逐个运行它们。

如果列表是全局的,则添加新算法(在开头或结尾,由您决定)会对整个系统产生全局影响。

还要考虑模式。

于 2013-01-19T19:47:37.800 回答