आज मैंने तीन बार एक ही डेटाबेस पैटर्न देखा

आज मैंने अपने कोड में तीन बार एक ही डेटाबेस स्ट्रक्चर देखा।

सबसे पहले, मैंने इसे फीस (fees) के साथ देखा।

  • Fee (पैरेंट: जो क्लास को देना है)
  • FeePayment (चाइल्ड: प्रत्येक व्यक्तिगत भुगतान)

फिर, मैंने इसे असेसमेंट (assessments) के साथ देखा।

  • Assessment (पैरेंट: क्विज़ का विवरण, तारीख और अधिकतम स्कोर)
  • AssessmentResult (चाइल्ड: प्रत्येक छात्र का स्कोर)

यह स्ट्रक्चर सामान्य गलतियों को रोकता है।

यदि आप पैरेंट-चाइल्ड पैटर्न का उपयोग नहीं करते हैं, तो आपको इन समस्याओं का सामना करना पड़ता है:

  • आप डेटा को दोहराते हैं। आप प्रत्येक छात्र की रो (row) के लिए विषय और तारीख को कॉपी करते हैं।
  • आप भ्रम पैदा करते हैं। यह जानना कठिन हो जाता है कि कौन सी रो एक ही इवेंट से संबंधित है।
  • आप टेबल्स को अव्यवस्थित कर देते हैं। आप हेडर डेटा को छात्र की रो में डाल देते हैं जहाँ उसकी आवश्यकता नहीं होती।

पैटर्न की पहचान समय के साथ बढ़ती है।

पहली बार जब आप किसी स्ट्रक्चरल समस्या को ठीक करते हैं, तो वह केवल एक सुधार होता है। दूसरी बार जब आप इसे देखते हैं, तो आप एक पैटर्न को पहचानते हैं। तीसरी बार, आप समस्या का सामना करने से पहले ही उसका उपयोग कर लेते हैं।

मैं अभी भी एज केसेस (edge cases) बना रहा हूँ और उनका परीक्षण कर रहा हूँ। मैं अभी भी सीख रहा हूँ।

Source: https://dev.to/johnstonkweku/i-spotted-the-same-database-design-pattern-three-times-in-my-own-code-today-4e4d