วิธีหนึ่งคือการออกแบบโมเดลของคุณก่อนที่คุณจะออกแบบฐานข้อมูลของคุณ เมื่อออกแบบโมเดลของคุณโฟกัสอยู่ที่การจับตรรกะทางธุรกิจและความหมายภายในโดเมนปัญหา สิ่งนี้ควรถูกจับในลักษณะที่เหมาะสมกับธุรกิจรวมถึงมากกว่าแค่เอนทิตีและเขตข้อมูล องค์ประกอบข้อมูลบางอย่างถูกตีความจากองค์ประกอบอื่น ๆ บางอย่างเกิดขึ้นกับผู้อื่น ฯลฯ นอกจากนี้คุณสามารถเพิ่มตรรกะพื้นฐานที่คุณต้องการเช่นโมเดลว่าวัตถุตอบสนองภายในอย่างไรเมื่อองค์ประกอบบางอย่างถูกตั้งค่าเป็นค่าที่แน่นอน
เป็นไปได้อย่างสิ้นเชิงว่าคุณจะได้พบกับบางสิ่งที่ 90 +% เหมือนกับที่คุณได้รับการยืนยันข้อมูล ไม่เป็นไร. มันสามารถเหมือนกันอย่างสมบูรณ์โดยไม่ต้องเป็นคู่
โปรดทราบว่าการสร้างแบบจำลองโดเมนในหมอกแห่งความไม่รู้ความจริงที่แท้จริงคือบิตของจอกศักดิ์สิทธิ์สำหรับการออกแบบซอฟต์แวร์ หากคุณสามารถทำได้มันยอดเยี่ยม แต่ถ้าปัญหาของโดเมนนั้นมีความสำคัญและมีความซับซ้อนใด ๆ มันก็ยังเป็นความคิดที่ดีที่จะถอยออกจากการสร้างแบบจำลองโดเมนเป็นครั้งคราวเพื่อทำการตรวจสอบสติของข้อมูลอย่างต่อเนื่องเพื่อให้แน่ใจว่าคุณไม่ได้ทาสี คุณเข้ามุม
เพียงจำบทบาทที่แท้จริงของส่วนประกอบต่าง ๆ และแยกบทบาทเหล่านั้นออกเมื่อคุณออกแบบ สำหรับการตัดสินใจด้านการออกแบบใด ๆ ถามตัวเองว่ามีบทใดบทหนึ่งที่ละเมิด:
- ฐานข้อมูล - จัดเก็บข้อมูลรักษาความถูกต้องของข้อมูลรักษาข้อมูลที่เหลือ
- แบบจำลอง - มีตรรกะทางธุรกิจจำลองโดเมนปัญหาเก็บข้อมูลที่เคลื่อนไหวตอบสนองต่อเหตุการณ์ระดับธุรกิจ ฯลฯ
- มุมมอง - นำเสนอข้อมูลแก่ผู้ใช้ดำเนินการตรรกะด้านผู้ใช้ (การตรวจสอบความถูกต้องเบื้องต้นก่อนทำการตรวจสอบความถูกต้องจริงในรุ่น ฯลฯ )
- ตัวควบคุม - ตอบสนองต่อกิจกรรมของผู้ใช้ส่งการควบคุมไปยังแบบจำลองการขอเส้นทางและการตอบกลับ