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