มีความแตกต่างใหญ่ระหว่างชั้นแอปพลิเคชันและชั้นนำเสนอจากมุมมอง DDD
แม้ว่า DDD จะมุ่งเน้นไปที่วิธีการสร้างแบบจำลองโดเมนโดยใช้ Building Block DDD และแนวคิดเช่นบริบทที่ล้อมรอบภาษาที่ใช้กันแพร่หลายและอื่น ๆ ก็ยังคงเป็นสิ่งสำคัญที่จะต้องระบุและแยกเลเยอร์ต่างๆในแอปของคุณอย่างชัดเจน
สถาปัตยกรรมมีบทบาทสำคัญในการใช้แอพ DDD ที่ประสบความสำเร็จ สถาปัตยกรรมที่มีชื่อเสียงที่ได้รับการโฆษณามากขึ้นเมื่อเร็ว ๆ นี้คือสถาปัตยกรรมหัวหอม:
ในการออกแบบนี้ชั้น UI / การนำเสนอและชั้นแอปพลิเคชันจะแยกกันอย่างชัดเจน การผสาน 2 เข้าด้วยกันเป็นการแนะนำการมีเพศสัมพันธ์อย่างแน่นหนาระหว่าง 2 เลเยอร์ที่มีข้อกังวลและความรับผิดชอบที่ชัดเจน
เลเยอร์การนำเสนอควรแสดงตรรกะของการนำเสนอเท่านั้น หลีกเลี่ยง Smart UIs ที่รู้มากเกินไป สิ่งนี้เป็นที่ตั้งของตัวควบคุมและมุมมองของ MVC นอกเหนือจาก CSS, JS, แม่แบบฟอร์มและทุกสิ่งที่เกี่ยวข้องกับการตอบสนองและขอวัตถุ
การดำเนินการที่ออกผ่านการนำเสนอจะถูกมอบหมายให้กับชั้นแอพพลิเคชันผ่านคำสั่ง ชั้นแอปพลิเคชันมีตรรกะของแอปพลิเคชัน โดยปกติจะแมปกับกรณีการใช้งาน มันมีสิ่งที่ระบบควรทำเพื่อตอบสนองกรณีการใช้งาน บริการแอปพลิเคชันทั่วไปจะถามที่เก็บเพื่อส่งคืนการรวมแล้วเรียกใช้การดำเนินการกับการรวมนั้น
ดูตัวอย่างโครงการจากทางไกลต่างประเทศของVaughn Vernon