14
เหตุใดฉันจึงควรแยกเอนทิตีโดเมนของฉันออกจากเลเยอร์การนำเสนอของฉัน
ส่วนหนึ่งของการออกแบบที่ขับเคลื่อนด้วยโดเมนซึ่งดูเหมือนจะไม่มีรายละเอียดมากนักนั่นคือวิธีและเหตุผลที่คุณควรแยกโมเดลโดเมนของคุณออกจากอินเทอร์เฟซของคุณ ฉันพยายามโน้มน้าวเพื่อนร่วมงานว่านี่เป็นแนวทางปฏิบัติที่ดี แต่ดูเหมือนฉันจะไม่ค่อยก้าวหน้าสักเท่าไหร่ ... พวกเขาใช้เอนทิตีโดเมนทุกที่ที่พวกเขาต้องการในการนำเสนอและเลเยอร์อินเทอร์เฟซ เมื่อฉันโต้แย้งกับพวกเขาว่าพวกเขาควรใช้โมเดลการแสดงผลหรือ DTO เพื่อป้องกันเลเยอร์โดเมนจากเลเยอร์อินเทอร์เฟซพวกเขาตอบโต้ว่าพวกเขาไม่เห็นคุณค่าทางธุรกิจในการทำอะไรแบบนั้นเพราะตอนนี้คุณมีวัตถุ UI ที่ต้องดูแล เช่นเดียวกับวัตถุโดเมนดั้งเดิม ดังนั้นฉันกำลังมองหาเหตุผลที่เป็นรูปธรรมบางอย่างที่สามารถใช้เพื่อสำรองข้อมูลนี้ได้ โดยเฉพาะ: เหตุใดเราจึงไม่ควรใช้วัตถุโดเมนในเลเยอร์การนำเสนอของเรา (หากคำตอบคือคำตอบที่ชัดเจน "การแยกส่วน" โปรดอธิบายว่าเหตุใดจึงมีความสำคัญในบริบทนี้) เราควรใช้ออบเจ็กต์หรือโครงสร้างเพิ่มเติมเพื่อแยกออบเจ็กต์โดเมนของเราออกจากอินเทอร์เฟซหรือไม่?