ಇಂದು ನಾನು ಒಂದೇ ರೀತಿಯ ಡೇಟಾಬೇಸ್ ಪ್ಯಾಟರ್ನ್ ಅನ್ನು ಮೂರು ಬಾರಿ ಗಮನಿಸಿದೆ

ಇಂದು ನನ್ನ ಕೋಡ್‌ನಲ್ಲಿ ನಾನು ಒಂದೇ ರೀತಿಯ ಡೇಟಾಬೇಸ್ ವಿನ್ಯಾಸವನ್ನು ಮೂರು ಬಾರಿ ನೋಡಿದೆ.

ಮೊದಲನೆಯದಾಗಿ, ನಾನು ಇದನ್ನು ಫೀಸ್ (fees) ವಿಷಯದಲ್ಲಿ ನೋಡಿದೆ.

  • Fee (ಪೇರೆಂಟ್: ಒಂದು ಕ್ಲಾಸ್ ಪಾವತಿಸಬೇಕಾದ ಮೊತ್ತ)
  • FeePayment (ಚೈಲ್ಡ್: ಪ್ರತಿಯೊಂದು ವೈಯಕ್ತಿಕ ಪಾವತಿ)

ನಂತರ, ನಾನು ಇದನ್ನು ಅಸೆಸ್‌ಮೆಂಟ್ಸ್ (assessments) ವಿಷಯದಲ್ಲಿ ನೋಡಿದೆ.

  • Assessment (ಪೇರೆಂಟ್: ರಸಪ್ರಶ್ನೆಯ ವಿವರಗಳು, ದಿನಾಂಕ ಮತ್ತು ಗರಿಷ್ಠ ಅಂಕಗಳು)
  • AssessmentResult (ಚೈಲ್ಡ್: ಪ್ರತಿಯೊಬ್ಬ ವಿದ್ಯಾರ್ಥಿಯ ಅಂಕಗಳು)

ಈ ರಚನೆಯು ಸಾಮಾನ್ಯ ತಪ್ಪುಗಳನ್ನು ತಡೆಯುತ್ತದೆ.

ನೀವು ಪೇರೆಂಟ್-ಚೈಲ್ಡ್ ಪ್ಯಾಟರ್ನ್ ಅನ್ನು ಬಳಸದಿದ್ದರೆ, ನೀವು ಈ ಸಮಸ್ಯೆಗಳನ್ನು ಎದುರಿಸುತ್ತೀರಿ:

  • ನೀವು ಡೇಟಾವನ್ನು ಪುನರಾವರ್ತಿಸುತ್ತೀರಿ. ಪ್ರತಿಯೊಬ್ಬ ವಿದ್ಯಾರ್ಥಿಯ ಸಾಲಿನಿಗಾಗಿ ನೀವು ವಿಷಯ ಮತ್ತು ದಿನಾಂಕವನ್ನು ಕಾಪಿ ಮಾಡುತ್ತೀರಿ.
  • ನೀವು ಗೊಂದಲವನ್ನು ಸೃಷ್ಟಿಸುತ್ತೀರಿ. ಯಾವ ಸಾಲುಗಳು ಒಂದು ಘಟನೆಗೆ ಸೇರಿವೆ ಎಂದು ತಿಳಿಯುವುದು ಕಷ್ಟವಾಗುತ್ತದೆ.
  • ನೀವು ಟೇಬಲ್‌ಗಳನ್ನು ಅಸ್ತವ್ಯಸ್ತಗೊಳಿಸುತ್ತೀರಿ. ಹೆಡರ್ ಡೇಟಾವನ್ನು ವಿದ್ಯಾರ್ಥಿಗಳ ಸಾಲುಗಳಲ್ಲಿ ಅಸಂಬದ್ಧವಾಗಿ ಸೇರಿಸುತ್ತೀರಿ.

ಕಾಲಾನಂತರದಲ್ಲಿ ಪ್ಯಾಟರ್ನ್ ಗುರುತಿಸುವಿಕೆ ಬೆಳೆಯುತ್ತದೆ.

ಮೊದಲ ಬಾರಿಗೆ ನೀವು ರಚನಾತ್ಮಕ ಸಮಸ್ಯೆಯನ್ನು ಸರಿಪಡಿಸಿದಾಗ, ಅದು ಕೇವಲ ಒಂದು ಸರಿಪಡಿಸುವಿಕೆಯಾಗಿರುತ್ತದೆ. ಎರಡನೇ ಬಾರಿ ನೀವು ಅದನ್ನು ನೋಡಿದಾಗ, ನೀವು ಒಂದು ಪ್ಯಾಟರ್ನ್ ಅನ್ನು ಗುರುತಿಸುತ್ತೀರಿ. ಮೂರನೇ ಬಾರಿ, ಸಮಸ್ಯೆಯನ್ನು ಎದುರಿಸುವ ಮೊದಲೇ ನೀವು ಅದನ್ನು ಬಳಸುತ್ತೀರಿ.

ನಾನು ಇನ್ನೂ ಎಡ್ಜ್ ಕೇಸ್‌ಗಳನ್ನು (edge cases) ನಿರ್ಮಿಸುತ್ತಿದ್ದೇನೆ ಮತ್ತು ಪರೀಕ್ಷಿಸುತ್ತಿದ್ದೇನೆ. ನಾನು ಇನ್ನೂ ಕಲಿಯುತ್ತಿದ್ದೇನೆ.

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