การนำคีย์รูทรวมกลับมาใช้ซ้ำในบริบทที่มีขอบเขต?
ตามคำถามระบุว่าการปฏิบัติที่ไม่ดีนี้หรือไม่? ฉันมีรูทรวมผู้ใช้ในบริบทที่มีขอบเขตของ Identity สำหรับการพิสูจน์ตัวตนผู้ใช้ ในบริบทที่ จำกัด นี้ฉันมีฟิลด์สำหรับผู้ใช้ที่เกี่ยวข้องกับการระบุตัวตนของผู้ใช้เช่นอีเมล, pw เค็มและอื่น ๆ
ฉันยังมีโดเมนย่อยทั่วไปสำหรับจัดการการแจ้งเตือน ในบริบทนี้ผู้ใช้เป็นผู้ที่มีความสำคัญ ในบริบทนี้ Notificant มีฟิลด์สำหรับเช่นจำนวนการแจ้งเตือนที่ยังไม่ได้อ่าน lastRead เป็นต้น
การใช้รหัสผู้ใช้ซ้ำจะดีหรือไม่ในกรณีนี้เนื่องจากฉันทราบว่ามีการติดต่อแบบ 1 ต่อ 1 ระหว่างผู้ใช้และผู้แจ้ง หรือฉันควรมีฟิลด์ใน Notificant root ที่อ้างถึงผู้ใช้? มันรู้สึกซ้ำซ้อนเพราะงั้นฉันต้องค้นหาแผนที่ระหว่างพวกเขาเมื่อฉันรู้ว่าความสัมพันธ์ของพวกเขาสมมาตรกัน
คำตอบ
ไม่อย่าใช้คีย์รูทรวมซ้ำเพื่อระบุอ็อบเจ็กต์ที่แตกต่างกันในบริบทที่แตกต่างกัน!
ทำไม?
- เพราะ a
Notificant
ไม่ใช่User
. บางทีวันนี้ผู้ใช้ส่วนใหญ่จะได้รับการแจ้งเตือน แต่พรุ่งนี้คุณอาจต้องแจ้งบุคคลที่สามที่ไม่ได้ใช้ระบบหรือแม้แต่ระบบตรวจสอบอัตโนมัติ - เนื่องจากเป็นบริบทที่มีขอบเขตอีกบริบทและบริบทที่มีขอบเขตอาจพัฒนาอย่างอิสระ อาจจะวันนี้
User
และNotificant
แบ่งปันความละเอียดเดียวกันและอาจเกี่ยวข้องโดยตรงแบบหนึ่งต่อหนึ่ง แต่ใครจะรู้ว่าพรุ่งนี้ ดังนั้นคุณต้องคิดอย่างรอบคอบว่าควรจะเกี่ยวข้องกันอย่างไร