我一直在对不同的设计模式进行大量研究,并试图确定正确的方法。
我有一个正在开发的图像上传 MVC 应用程序,它需要以几种不同的方式处理图像,例如创建缩略图并保存数据库记录。解决这个问题的最佳方法是通过享元模式吗?以此为例:
var image = new Image();
List<IProcessors> processors = processorFactory.GetProcessors(ImageType.Jpeg);
foreach(IProcessor processor in processors)
{
processor.process(image);
}
我对这个问题也有第二部分。如果处理器有较小的相关“子处理器”怎么办?我脑海中的一个例子是书籍生成器。
I have a book generator
that has page generators
that has paragraph generators
that has sentence generators
这也是蝇量级模式吗?我将如何处理那棵树的遍历?
编辑
我在下面问了这个问题,但我想在这里添加它:
我看到的所有关于复合模式的示例似乎都与值的处理有关,而享元模式似乎与对象状态的处理(或共享)有关。我只是读了太多的例子吗?将模式结合起来是解决方案吗?