ฉันไม่คุ้นเคยกับ automapper มากนัก แต่สถาปนิกซอฟต์แวร์ของเราโยนมันใส่ฉันสำหรับโปรเจ็กต์นี้
แนวคิดนี้คือการห่อหุ้มความผันผวนอย่างสมบูรณ์ นี่คือไดอะแกรมที่ทำไม่ดี
API/เลเยอร์การนำเสนอ | คำขอและการตอบสนองวัตถุต่อท้าย (เช่น ApplicationCreateRequest)
ชั้นธุรกิจ | หน้าแรกของออบเจ็กต์การโอนโดเมน ซึ่งต่อท้าย DTO (เช่น ApplicationCreateDTO)
ชั้นฐานข้อมูล | หน้าแรกของออบเจ็กต์การเข้าถึงทรัพยากรและเอนทิตีต่อท้าย RAO และเอนทิตี (เช่น ApplicationEntity, ApplicationCreateRAO)
ฉันต้องแปลง ApplicationCreateRequests เป็น ApplicationCreateDTO's รวมถึงแปลง Requests Nested object เป็น DTO ด้วยเช่นกัน
ตัวอย่างเช่น:
public class ApplicationCreateRequest
{
public string FirstName { get; set; }
public string LastName { get; set; }
public ContactCreateRequest Contact { get; set; }
public DemographicCreateRequest Demographic { get; set; }
public EducationCreateRequest Education { get; set; }
public WorkCreateRequest Work { get; set; }
}
กลายเป็น
public class ApplicationCreateDTO
{
public string FirstName { get; set; }
public string LastName { get; set; }
public ContactCreateDTO Contact { get; set; }
public DemographicCreateDTO Demographic { get; set; }
public EducationCreateDTO Education { get; set; }
public WorkCreateDTO Work { get; set; }
}
DTO และคำขอมีคุณสมบัติเหมือนกันเป็นส่วนใหญ่
ฉันเพิ่งได้ทำงานกับการแมปขั้นพื้นฐานเท่านั้น เช่น:
CreateMap<ObjectOne, ObjectTwo>();