คำถามติดแท็ก domain-driven-design

การออกแบบที่ขับเคลื่อนด้วยโดเมน (DDD) เป็นวิธีการพัฒนาซอฟต์แวร์สำหรับความต้องการที่ซับซ้อนโดยการเชื่อมต่อการใช้งานกับรูปแบบการพัฒนา

2
“ โดเมน” หมายถึงอะไรเมื่ออ้างถึง DDD
โดเมนคำหมายถึงอะไรเกี่ยวกับการออกแบบ / การขับเคลื่อน ไม่ได้อยู่ในแง่ของความหมายหรือนิยามเชิงวิชาการ แต่ในแง่ของวิธีการปรับเปลี่ยนกระบวนการหรือปรัชญา? ฉันอ่านโพสต์: /software/57828/your-software-problem-solution-approach ฉันเจอคำศัพท์ DDD และไม่รู้จริงๆว่ามันหมายถึงอะไร

3
ค่าที่คำนวณได้และการอ่านอย่างง่าย - ความเจ็บปวดที่จู้จี้สำหรับการออกแบบโดเมนของฉัน!
ปัญหาที่ฉันเผชิญอย่างต่อเนื่องคือวิธีจัดการกับค่าที่คำนวณโดยตรรกะของโดเมนในขณะที่ยังทำงานได้อย่างมีประสิทธิภาพกับที่เก็บข้อมูล ตัวอย่าง: ฉันกำลังส่งคืนรายการผลิตภัณฑ์จากที่เก็บของฉันผ่านบริการ รายการนี้ถูก จำกัด โดยข้อมูลเลขหน้าจากคำขอ DTO ที่ส่งโดยลูกค้า นอกจากนี้ DTO ยังระบุพารามิเตอร์การเรียงลำดับ (enum ที่เหมาะกับลูกค้า) ในสถานการณ์ง่าย ๆ ทุกอย่างใช้งานได้ดี: บริการส่งเพจและเรียงลำดับนิพจน์ไปยัง repo และ repo ออกแบบสอบถามที่มีประสิทธิภาพไปยังฐานข้อมูล ทุกอย่างพังทลายลงมาเมื่อฉันต้องเรียงลำดับค่าที่สร้างขึ้นในหน่วยความจำจากโมเดลโดเมนของฉัน ตัวอย่างเช่นระดับสินค้ามีวิธี IsExpired () ที่ส่งกลับค่าบูลตามตรรกะทางธุรกิจ ตอนนี้ฉันไม่สามารถจัดเรียงและเพจที่ระดับ repo ได้ทุกอย่างจะต้องทำในหน่วยความจำ (ไม่มีประสิทธิภาพ) และบริการของฉันจะต้องทราบความซับซ้อนของเวลาที่จะออก params เหล่านี้ไปยัง repo และเมื่อทำการเรียงลำดับ / การเพจ ตัวเอง รูปแบบเดียวที่ดูเหมือนสมเหตุสมผลสำหรับฉันคือการจัดเก็บสถานะของเอนทิตีใน db (ทำให้ IsExpired () เป็นฟิลด์แบบอ่านอย่างเดียวและอัปเดตผ่านตรรกะโดเมนก่อนการบันทึก) ถ้าฉันแยกตรรกะนี้เป็นที่เก็บ "read model / dto" และ …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.