我有应用程序以二进制格式获取图像。然后,此应用程序必须将此图像转换为特定的dimmension并将形式(原始和特定)保存到磁盘。在这种情况下,应用程序也必须在数据库中存储有关此图片的信息。
在哪里放置转换逻辑:在应用层,在域层或可能在基础架构层?
答案 0 :(得分:0)
答案 1 :(得分:0)
«服务»似乎很合适: http://dddcommunity.org/node/125
答案 2 :(得分:0)
您应该将转化逻辑放入基础架构层,除非您的域名是关于转换图片。
这样的事情:
//domain
public class Image{
public Image(string fileName){
FileName=fileName;
}
public string FileName{get;private set;}
}
//infrastructure
public class ImageConvertor:ICanConvertImages{
public byte[] BmpToJpeg(byte[] img){
throw new NotImplementedException("haa haa");
}
}
//application
var bmpImg=PullBytesFromNowhere();
var jpegImg=convertor.BmpToJpeg(img);
var fileName=SaveToFile(jpegImg);
var image=new Image(fileName);