Τα σχέδια είναι αποδεδειγμένα λύσεις για κοινά προβλήματα προγραμματισμού. Σε Python, αυτά τα πρότυπα βοηθούν τους μηχανικούς να γράφουν αποδοτικά, συντηρήσιμα και κλιμακωτό κώδικα.

Δημιουργία προτύπων

Δημιουργικά μοτίβα επικεντρώνονται σε μηχανισμούς δημιουργίας αντικειμένων, με στόχο τη δημιουργία αντικειμένων με τρόπο κατάλληλο για την κατάσταση. Βοηθούν στη μείωση της πολυπλοκότητας και την αύξηση της ευελιξίας στον κώδικα.

  • Singleton: Εξασφαλίζει ότι μια τάξη έχει μόνο ένα παράδειγμα και παρέχει ένα παγκόσμιο σημείο πρόσβασης σε αυτό.
  • Μέθοδος Factory: Καθορίζει μια διεπαφή για τη δημιουργία ενός αντικειμένου αλλά επιτρέπει σε υποκλάσεις να μεταβάλλουν τον τύπο των αντικειμένων που θα δημιουργηθούν.
  • Αφηρημένο Εργοστάσιο: Παρέχει διεπαφή για τη δημιουργία οικογενειών συγγενών ή εξαρτώμενων αντικειμένων χωρίς να προσδιορίζει τις κλάσεις σκυροδέματος τους.

Δομικά μοτίβα

Δομικά μοτίβα ασχολούνται με τη σύνθεση αντικειμένων, βοηθώντας στην οργάνωση κώδικα και καθιστώντας πιο ευέλικτο και ευκολότερο να επεκταθεί.

  • Adapter: Επιτρέπει ασυμβίβαστες διεπαφές να συνεργαστούν μετατρέποντας τη διασύνδεση μιας κατηγορίας σε άλλη που αναμένεται από τους πελάτες.
  • Διακόπτης: Προσθέτει νέες λειτουργίες σε αντικείμενα δυναμικά χωρίς να αλλοιώνει τη δομή τους.
  • Facade: Παρέχει απλοποιημένη διεπαφή σε ένα σύνθετο υποσύστημα.

Συμπεριφορικά πρότυπα

Τα πρότυπα συμπεριφοράς επικεντρώνονται στην επικοινωνία μεταξύ αντικειμένων, ορίζοντας πώς αλληλεπιδρούν και διανέμουν ευθύνες.

  • Παρατηρητής: Καθορίζει μια μονοπολλή εξάρτηση μεταξύ αντικειμένων έτσι ώστε όταν ένα αντικείμενο αλλάζει κατάσταση, να ειδοποιούνται όλα τα εξαρτημένα του αντικείμενα.
  • Στρατηγική: Ενεργοποιεί την επιλογή της συμπεριφοράς ενός αλγόριθμου κατά το χρόνο εκτέλεσης ορίζοντας μια οικογένεια αλγορίθμων.
  • Εμπορική: Ενσωματώνει ένα αίτημα ως αντικείμενο, επιτρέποντας παραμετροποίηση των πελατών με ουρές, αιτήματα και λειτουργίες.