[英]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.