อยู่ที่ไหน: โดเมน, ภาพรวม, เอนทิตีบนรูปภาพ?


0

ฉันกำลังศึกษาการออกแบบโดยใช้โดเมน (DDD) อ่านบทความมากมาย แต่ไม่เคยพบคำอธิบายที่ง่ายเลย โปรดช่วยสมมติว่าเรามีการออกแบบ:

ป้อนคำอธิบายรูปภาพที่นี่

คำถามมากมายของฉันคือ:

  1. โดเมนคืออะไร (มีภาพโดเมนอยู่ที่ไหน) ในภาพนี้
  2. ภาพรวมอยู่ที่ไหนในรูป? (มันเป็นวัตถุหลายชิ้นหรือเพียงชิ้นเดียว)
  3. ถูกต้องหรือไม่ที่ Order เป็นรูทรวม?
  4. ทำไม LineItem ไม่ใช่นิติบุคคล? (ฉันถามเพราะที่นี่: https://softwareengineering.stackexchange.com/questions/351853/should-internal-entities-in-an-aggregate-respond-to-domain-events-directly ) คนโดยตรงบอกว่า OrderLine เป็นนิติบุคคล
  5. สคีมา DDD สามารถอยู่ได้โดยปราศจาก CQRS หรือไม่ ควรใช้ CQRS กับทุกส่วน (รวมโดเมนหรือไม่) ของสถาปัตยกรรม
  6. มีการขับเคลื่อนกิจกรรม == การจัดหากิจกรรมหรือไม่
  7. จำเป็นต้องมีการชดเชยใน DDD Event Driven / sourcing แทนที่จะเป็นธุรกรรมแบบกระจายหรือสามารถมีอยู่โดยไม่มีการชดเชย (และไม่มีธุรกรรมแบบกระจาย) หรือไม่?

ฉัน googled จริงๆและอ่านบทความและคำถามเหล่านี้ถูกยกขึ้นในหัวของฉัน ...

คำตอบ:


5

โดเมนคืออะไร (มีภาพโดเมนอยู่ที่ไหน) ในภาพนี้

แผนภาพทั้งหมดหรือไม่ ดูเหมือนว่าเป็นส่วนหนึ่งของโดเมนที่รับผิดชอบการจัดการคำสั่งซื้อ

ภาพรวมอยู่ที่ไหนในรูป?

ขอบเขตสีม่วงกำลังแสดงการรวมคุณ - พวกเขาอาจจะเรียกว่าการรวมการสั่งซื้อและการรวมลูกค้า

ถูกต้องหรือไม่ที่ Order เป็นรูทรวม?

เอนทิตีสั่งซื้อในรูปวาดนี้เป็นรากของการรวมคำสั่งซื้อใช่ ทุกคนจะสร้างแบบจำลองระบบการสั่งซื้อด้วยวิธีนี้หรือไม่? ไม่จำเป็น.

ทำไม LineItem ไม่ใช่นิติบุคคล?

เพราะนั่นคือการออกแบบที่นักออกแบบรายนี้ขึ้นมา อีกอันอาจใช้เอนทิตีที่นั่นแทน วิธีการอย่างใดอย่างหนึ่งอาจจะดี

สคีมา DDD สามารถอยู่ได้โดยปราศจาก CQRS หรือไม่

ใช่. DDD มาก่อน; CQRS เกิดขึ้นผ่านDDD แบบกระจาย

ควรใช้ CQRS กับทุกส่วน (รวมโดเมนหรือไม่) ของสถาปัตยกรรม

เลขที่

มีการขับเคลื่อนกิจกรรม == การจัดหากิจกรรมหรือไม่

ไม่การจัดหากิจกรรมเป็นเรื่องเกี่ยวกับวิธีที่เราเก็บข้อมูลและสิ่งที่ตามมาจากสิ่งนั้น Event Driven นั้นเกี่ยวกับการตอบสนองต่อข้อความ แต่ไม่ได้พูดถึงเรื่องการจัดเก็บ คุณสามารถทำได้โดยไม่ต้องทำอย่างอื่น

จำเป็นต้องมีการชดเชยใน DDD Event Driven / sourcing แทนที่จะเป็นธุรกรรมแบบกระจาย

ทบทวนชีวิตที่นอกเหนือจากธุรกรรมที่ถูกแจกจ่ายโดย Pat Helland

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.