Ένας σύντομος οδηγός για τα σχέδια σχεδίασης σε JavaScript



Αυτό το άρθρο θα σας βοηθήσει με μια λεπτομερή προσέγγιση σχετικά με τα μοτίβα σχεδίασης σε JavaScript με απλοποιημένο τρόπο για καλύτερη κατανόηση.

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

Τι είναι τα μοτίβα σχεδίασης σε JavaScript;

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





Μοτίβα σχεδίασης οικοδόμου

Τώρα, ας συζητήσουμε τη συμμορία των τεσσάρων (GoF)



Συμμορία των τεσσάρων

ο 23 Gang of Four (GoF) Τα σχέδια θεωρούνται συνήθως τα θεμέλια για όλα τα άλλα πρότυπα.

Η συμμορία των τεσσάρων (GoF) από μοτίβα σχεδίασης:



Elements of Reusable Object-Oriented Software, Addison-Wesley Professional Computing Series, από Erich Gamma, Richard Helm, Ralph Jhonson, και Ιωάννης Βλισίδης ΤΑυτά τα 23 μοτίβα GoF θεωρούνται γενικά το θεμέλιο για όλα τα άλλα πρότυπα.Κατηγοριοποιούνται σε τρεις ομάδες: Δημιουργική, Δομική και Συμπεριφορική.

Τύποι σχεδίων σχεδίασης

Υπάρχουν βασικά τρεις διαφορετικοί τύποι μοτίβων σχεδίασης σε JavaScript. Έχουν ως εξής:

Δημιουργικά μοτίβα

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

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

πώς να τρέξετε έκλειψη στα παράθυρα

Εργοστασιακή μέθοδος: Αυτό δημιουργεί μια παρουσία για πολλές παράγωγες τάξεις. Ορίζει επίσης μια διεπαφή για τη δημιουργία ενός αντικειμένου, αλλά επιτρέπει στην υποκατηγορία να αποφασίσει ποια κλάση θα δημιουργήσει. Αυτό έχει επίσης μια Εργοστασιακή Μέθοδο που επιτρέπει σε μια τάξη να αναβάλλει την κατάσταση σε υποκατηγορίες.

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

Μοναδικό χαρτί: Είναι πλήρως προετοιμασμένες περιπτώσεις για αντιγραφή ή κλωνοποίηση.Πρόκειται για συγκεκριμένο είδος αντικειμένων για δημιουργία χρησιμοποιώντας μια πρωτότυπη παρουσία και δημιουργία νέων αντικειμένων αντιγράφοντας αυτό το πρωτότυπο.

Διαρθρωτικά μοτίβα

τι είναι jit στην Ιάβα

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

Γέφυρα: Διαχωρίζει τη διεπαφή ενός αντικειμένου από την εφαρμογή του. Αποσύνδεση μιας περίληψης από την εφαρμογή της έτσι ώστε τα δύο να μπορούν να διαφέρουν ανεξάρτητα.

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

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

Πρόσοψη: Μια μεμονωμένη κλάση που αντιπροσωπεύει ένα ολόκληρο υποσύστημα και παρέχει μια ενοποίηση διεπαφής σε ένα σύνολο διεπαφών σε ένα σύστημα. Η πρόσοψη ορίζει μια διεπαφή υψηλότερου επιπέδου που καθιστά το υποσύστημα ευκολότερο στη χρήση.

Flyweight: Ένα λεπτόκοκκο παράδειγμα που χρησιμοποιείται για αποτελεσματική κοινή χρήση για την αποτελεσματική υποστήριξη μεγάλου αριθμού λεπτόκοκκων αντικειμένων. Το flyweight είναι ένα κοινό αντικείμενο που μπορεί να χρησιμοποιηθεί ταυτόχρονα σε πολλούς αριθμούς περιβάλλοντος.Το flyweight λειτουργεί επίσης ως ανεξάρτητο αντικείμενο σε κάθε πλαίσιο - Δεν διακρίνεται από μια παρουσία αντικειμένων που δεν είναι κοινόχρηστα.

Πληρεξούσιο: Είναι ένα αντικείμενο που αντιπροσωπεύει ένα άλλο αντικείμενο. Παρέχει ένα υποκατάστατο ή ένα σύμβολο κράτησης θέσης για τον έλεγχο της πρόσβασης σε αυτό.

Συμπεριφορικά μοτίβα:

Αλυσίδα ευθύνης: Είναι ένας τρόπος διαβίβασης ενός αιτήματος μεταξύ μιας αλυσίδας αντικειμένων. Αποφεύγει τη σύζευξη με τον αποστολέα και στέλνει ένα αίτημα στον παραλήπτη του δίνοντας σε περισσότερα από ένα αντικείμενο την ευκαιρία να χειριστεί το αίτημα. Τα αντικείμενα λήψης είναι αλυσοδεμένα και πέρασαν το αίτημα κατά μήκος της αλυσίδας έως ότου ένα αντικείμενο το χειριστεί.

Εντολή: Περιλαμβάνει ένα αίτημα εντολής ως αντικείμενο. Ενσωματωμένο αίτημα ως αντικείμενο, επιτρέποντάς σας έτσι να παραμετροποιήσετε τους πελάτες με διαφορετικά αιτήματα, ουρές ή αιτήματα καταγραφής και να υποστηρίξετε τις αναίρεση.

διαφορά μεταξύ javascript και jquery

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

Επαναληπτής: Η διαδοχική πρόσβαση των στοιχείων μιας συλλογής παρέχει έναν τρόπο πρόσβασης στα στοιχεία ενός συνολικού αντικειμένου διαδοχικά χωρίς να εκτίθεται η υποκείμενη αναπαράστασή του.

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

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

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

Κατάσταση: Αλλάζει τη συμπεριφορά ενός αντικειμένου όταν αλλάζει η κατάστασή του. Επιτρέπει σε ένα αντικείμενο να αλλάξει τη συμπεριφορά του όταν αλλάζει η εσωτερική κατάσταση. Το αντικείμενο θα αλλάξει την τάξη του.

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

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

Επισκέπτης: Ορίζει μια νέα λειτουργία σε μια τάξη χωρίς αλλαγή. Αντιπροσωπεύει μια λειτουργία που πρέπει να εκτελεστεί στα στοιχεία μιας δομής αντικειμένου. Ο επισκέπτης σάς επιτρέπει να ορίσετε μια νέα λειτουργία χωρίς να αλλάξετε τις κλάσεις των στοιχείων στα οποία λειτουργεί.

Με αυτό, φτάνουμε στο τέλος αυτού του άρθρου. Ελπίζω να έχετε κατανοήσει τα μοτίβα σχεδίασης σε JavaScript, τους τύπους, τη σημασία και την εφαρμογή τους.

Τώρα που έχετε καταλάβει τα βασικά του Design Patterns σε JavaScript, ρίξτε μια ματιά στο από την Edureka, μια αξιόπιστη διαδικτυακή εταιρεία εκμάθησης με δίκτυο περισσότερων από 250.000 ικανοποιημένων μαθητών σε όλο τον κόσμο. Το μάθημα εκπαίδευσης και πιστοποίησης Java J2EE και SOA της Edureka έχει σχεδιαστεί για φοιτητές και επαγγελματίες που θέλουν να γίνουν προγραμματιστές Java. Το μάθημα έχει σχεδιαστεί για να σας δώσει μια πρώτη αρχή στον προγραμματισμό Java και να σας εκπαιδεύσει τόσο για βασικές όσο και για προχωρημένες ιδέες Java μαζί με διάφορα πλαίσια Java όπως το Hibernate & Ανοιξη .

Έχετε μια ερώτηση για εμάς; Αναφέρετέ το στην ενότητα σχολίων αυτού του ιστολογίου 'Σχέδια μοτίβων σε JavaScript' και θα επικοινωνήσουμε μαζί σας το συντομότερο δυνατό.