การออกแบบการขับเคลื่อนด้วยโดเมนมีประโยชน์ / มีประสิทธิผลสำหรับโดเมนที่ไม่ซับซ้อนใช่หรือไม่


16

เมื่อประเมินโครงการที่มีศักยภาพในที่ทำงานฉันแนะนำว่าอาจเป็นประโยชน์ในการใช้วิธีการออกแบบโดยใช้โดเมนเป็นโมเดลวัตถุ โครงการไม่มีโดเมนที่ซับซ้อนมากนักดังนั้นเพื่อนร่วมงานของฉันก็โยนเรื่องนี้มาให้ฉัน:

มีการกล่าวกันว่า DDD นั้นเป็นที่นิยมในกรณีที่มีรูปแบบโดเมนที่ซับซ้อน (“ ... มันใช้เมื่อใดก็ตามที่เราทำงานในโดเมนที่ซับซ้อนและซับซ้อน” Eric Evans)

สิ่งที่ฉันทำคือ - คุณกำหนดความซับซ้อนของโดเมนได้อย่างไร สามารถกำหนดจำนวนรากรวมในรูปแบบโดเมนได้หรือไม่ ความซับซ้อนของโดเมนในการโต้ตอบของวัตถุหรือไม่

โดเมนที่เรากำลังประเมินนั้นเกี่ยวข้องกับการเผยแพร่ออนไลน์และการจัดการเนื้อหา


คุณรู้ว่าโดเมนของคุณซับซ้อนพอที่จะพิสูจน์ DDD เมื่อคุณใช้ DDD เพื่อสร้างโมเดล :)
Adam Crossland

คำตอบ:


18

ความซับซ้อนของตรรกะทางธุรกิจหรือที่เรียกว่าพฤติกรรมการใช้งานเป็นปัจจัยที่สำคัญที่สุด ปัจจัยที่สำคัญที่สุดอันดับสองคือช่องว่างระหว่างปัญหาทางเทคนิคกับคำศัพท์ทางธุรกิจที่ใช้อธิบายปัญหาดังกล่าวเนื่องจาก DDD เกี่ยวข้องกับการสร้างคำศัพท์ที่ใช้ร่วมกันระหว่างธุรกิจและทีมวิศวกรรม

รูปแบบบางอย่างที่ใช้ใน DDD โดยทั่วไปมีประโยชน์ในสถาปัตยกรรมแอปพลิเคชันองค์กรเช่นรูปแบบ Repository บริบทที่ถูกผูกไว้และเลเยอร์สถาปัตยกรรม เพียงเพราะคุณกำลังใช้รูปแบบเหล่านั้นไม่ได้หมายความว่าคุณกำลังออกแบบโดเมน

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

หากเรากำลังพูดถึงการจัดการเนื้อหาต่อไปนี้เป็นกฎ (จินตนาการ) บางข้อที่อาจเริ่มบอกใบ้ถึงความต้องการ DDD:

  • หากเรื่องราวถูกสั่งห้ามจนถึงวันที่ xx / yy / zz ให้พิมพ์เพื่อพิมพ์จากนั้นไปที่เว็บ หากไม่มีการห้ามส่งสินค้าให้เผยแพร่ทางเว็บไซต์และจัดพิมพ์ได้
  • ทำให้เรื่องนี้มีอยู่เบื้องหลัง paywall ให้กับสมาชิกที่ชำระเงินทันที เผยแพร่ต่อสาธารณชนทั่วไป 2 สัปดาห์ต่อมา
  • หลังจากเขียนเรื่องราวแล้วให้ส่งไปยังบรรณาธิการเพื่อทำการแก้ไขการพิสูจน์อักษรและการอนุมัติ เมื่ออนุมัติแล้วให้ส่งไปที่การผลิต หากการผลิตตัดเรื่องราวด้วยเหตุผลด้านอวกาศให้เผยแพร่เวอร์ชันเพิ่มเติมทางออนไลน์
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.