繁体   English   中英

所有算法的策略模式和迭代器

[英]Strategy pattern and iterator on all algorithms

我有一个要在图像上进行去噪的算法列表。 我使用几种不同的算法对图片进行降噪处理。 假设我有denoise_1和denoise_2和denoise_3。 但是将来我将需要添加denoise_4,validation_four等。

我需要所有降噪才能在图片上运行,即使添加了新的降噪效果也是如此。

另外:如果添加其他算法,则必须通知系统。

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

这是正确的方法吗?

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

是的,策略很好:
让所有降噪算法实现一个公共接口。

假设您所有的算法都实现相同的DenoiseAlgorithm 只需将所有算法放在List<DenoiseAlgorithm>并通过遍历该列表逐一运行它们即可。

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

还考虑模式。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM