میں نے آج تین بار ایک ہی ڈیٹا بیس پیٹرن دیکھا
میں نے آج اپنے کوڈ میں تین بار ڈیٹا بیس کی ایک ہی ساخت دیکھی۔
سب سے پہلے، میں نے اسے فیس (fees) کے ساتھ دیکھا۔
- Fee (والد/parent: جو کلاس پر واجب الادا ہے)
- FeePayment (بچہ/child: ہر انفرادی ادائیگی)
پھر، میں نے اسے اسیسمنٹ (assessments) کے ساتھ دیکھا۔
- Assessment (والد/parent: کوئز کی تفصیلات، تاریخ، اور زیادہ سے زیادہ اسکور)
- AssessmentResult (بچہ/child: ہر طالب علم کا اسکور)
یہ ساخت عام غلطیوں سے بچاتی ہے۔
اگر آپ پیرنٹ-چائلڈ (parent-child) پیٹرن استعمال نہیں کرتے، تو آپ کو ان مسائل کا سامنا کرنا پڑتا ہے:
- آپ ڈیٹا کو دہراتے ہیں۔ آپ ہر طالب علم کی رو (row) کے لیے مضمون اور تاریخ کاپی کرتے ہیں۔
- آپ الجھن پیدا کرتے ہیں۔ یہ جاننا مشکل ہو جاتا ہے کہ کون سی روز (rows) ایک ہی ایونٹ سے تعلق رکھتی ہیں۔
- آپ ٹیبلز کو بھر دیتے ہیں۔ آپ ہیڈر ڈیٹا کو طالب علموں کی روز (rows) میں ڈال دیتے ہیں جہاں اس کا ہونا ضروری نہیں ہوتا۔
پیٹرن کی پہچان وقت کے ساتھ ساتھ بڑھتی ہے۔
پہلی بار جب آپ کسی ساختی مسئلے کو حل کرتے ہیں، تو یہ ایک واحد اصلاح ہوتی ہے۔ دوسری بار جب آپ اسے دیکھتے ہیں، تو آپ ایک پیٹرن کو پہچان لیتے ہیں۔ تیسری بار، آپ مسئلے کا سامنا کرنے سے پہلے ہی اسے استعمال کر لیتے ہیں۔
میں اب بھی ایج کیسز (edge cases) بنا رہا ہوں اور ان کی جانچ کر رہا ہوں۔ میں اب بھی سیکھ رہا ہوں۔