Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Καλησπερα εστω οτι εχω ενα site σε προτυπο mvc που μεταξυ αλλων, αποθηκευει για παραδειγμα ταινιες. Αυτη την στιγμη, για να προσθεσω μια ταινια, στελνω την φορμα με τα πεδια τιτλος,διαρκεια, κατηγορια κλπ στο κοντρολερ και κατα συνεχεια στο μοντελ οπου και πραγματοποιειται η νεα εγγραφη στην βαση.

Βλεπω ομως διαφορα τουτοριαλ και στην πι ειτς πι και σε αλλες γλωσσες, που φτιαχνουν μια κλαση, με ενα κοντστρακτορα που δημιουργει το αντικειμενο βιβλιο. Χρειαζεται για καποιο λογο να το κανω ετσι ή ειναι σωστος και ο τροπος μου. Αν χρειαζεται, τι πλεονεκτημα εχει αυτος ο τροπος?

Δημοσ.

Αυτή η κλάση είναι το μοντέλο του αντικειμένου. Όχι μόνο κάνει τον κώδικά σου ΠΟΛΥ πιο ευανάγνωστο σε κάποιον τρίτο, μιας και έχει κάπου μαζεμένα τα properties του μοντέλου, αλλά μπορείς να τη χρησιμοποιήσεις για lifecycle hooks (πχ validation από οποιοδήποτε input), class methods (πχ model facades για να μην στέλνεις ολόκληρο το αντικείμενο πέρα δώθε σε κάθε endpoint), αλλά και για το configuration της ΒΔ σου, πχ κάποιο μοντέλο μόνο να το στέλνεις σε διαφορετική ΒΔ (πχ αν έχεις ένα μοντέλο για τα log entries και θες να τα κάνεις aggregate σε κάποιο third party service), να δηλώσεις τα indexes του κάθε πίνακα ξεχωριστά κλπ.

Σε γενικές γραμμές, οι controllers σου πρέπει να είναι όσο πιο light weight γίνεται, τα database operations πρέπει να γίνονται από το ORM σου το οποίο θα σου παρέχει κάποιο feature rich API μέσω των μοντέλων σου.

  • Thanks 1

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...