2016-05-17 56 views
0

我正在寻找一种设计模式,它将允许我的服务处理BufferedImage并将其存储到不同的数据库并返回其他对象。是否有可能这样做?Java设计模式服务将方法应用于对象

Object processed = imageService.process(bufferedImage) 
       .resize(width, height) 
       .crop() 
       .removeTransparency() 
       .saveToDB_A() 
       .saveToDB_B() 

回答

1

你举的例子是,Fluent interface或者,如果你看一些角,Builder模式。

+1

但是,允许ImageService将该图像保存到数据库将会破坏Single Responsibility Principle。因为我们正在讨论模式(涉及最佳实践),所以最好让ImageService有一个“.invoke(Consumer 函数)”方法来简单地调用BufferedImage的任何函数。 '。通过这种方式,您可以在不影响ImageService中的SRP的情况下存储图像。 – gmaslowski