繁体   English   中英

DDD放置图像转换的位置

[英]DDD Where to put image conversion

我有应用程序以二进制格式获取图像。 然后,该应用程序必须将此映像转换为特定的尺寸并将两种格式(原始格式和特定​​格式)都保存到磁盘。 在这种情况下,应用程序也必须在数据库中存储有关此图片的信息。

转换逻辑放在哪里:在应用程序层,领域层还是在基础架构层?

嗯-这个问题可能重复吗? 看一下,看看您的想法: 将对象(图像)转换为三层(3层)中的另一个对象(字节)

根据您的情况,《服务》似乎很合适: http : //dddcommunity.org/node/125

除非您的领域涉及转换图像,否则应将转换逻辑放入基础结构层。

像这样:

//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);

暂无
暂无

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

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