Διαφορά μεταξύ AOP και OOP

Anonim

AOP vs OOP

AOP (Προσανατολισμός Προσανατολισμού) και OOP (αντικειμενοστραφής προγραμματισμός) είναι δύο παραδείγματα προγραμματισμού. Ένα παράδειγμα προγραμματισμού είναι ένα βασικό στυλ προγραμματισμού υπολογιστών. Τα παραδείγματα προγραμματισμού διαφέρουν ως προς τον τρόπο με τον οποίο εκπροσωπείται κάθε στοιχείο των προγραμμάτων και τον τρόπο με τον οποίο ορίζεται κάθε βήμα για την επίλυση προβλημάτων. Όπως υποδηλώνει το όνομά του, το OOP επικεντρώνεται στην εκπροσώπηση προβλημάτων που χρησιμοποιούν αντικείμενα πραγματικού κόσμου και τη συμπεριφορά τους, ενώ το AOP ασχολείται με την κατανομή των προγραμμάτων σε ξεχωριστές διασταυρούμενες ανησυχίες.

Τι είναι το AOP;

Το AOP είναι ένα πρότυπο προγραμματισμού, το οποίο ασχολείται με την κατανομή ενός προγράμματος σε συνεκτικές περιοχές λειτουργικότητας (καλούμενες ανησυχίες) που περνούν σε πολλαπλές περιοχές, προκειμένου να αυξηθεί η διαμόρφωση. Υποστήριξη για αφαίρεση (όπως κατηγορίες, μεθόδους κ.λπ.) για την ομαδοποίηση και την ενσωμάτωση ανησυχιών σε μοναδικές οντότητες παρέχεται σε πολλά άλλα παραδείγματα προγραμματισμού. Ωστόσο, οι ανησυχίες (όπως η "Καταγραφή") αποτελούν παραδείγματα ενοχλητικών ανησυχιών, επειδή κάθε καταγεγραμμένο μέρος του συστήματος επηρεάζεται από τη στρατηγική που χρησιμοποιείται για την καταγραφή. Το κύριο μέλημα όλων των εφαρμογών AOP είναι να έχουν κατάλληλες διατομεακές εκφράσεις για να συγκεντρώνουν όλες τις ανησυχίες σε μια ενιαία τοποθεσία.

Τι είναι το OOP;

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

Υπάρχουν πολλές σημαντικές έννοιες OOP, όπως η αφαίρεση δεδομένων, η ενθυλάκωση, ο πολυμορφισμός, τα μηνύματα, η μεταβλητότητα και η κληρονομικότητα. Συνήθως, η ενθυλάκωση επιτυγχάνεται κάνοντας τα χαρακτηριστικά ιδιωτικά, ενώ παράλληλα δημιουργούνται δημόσιες μέθοδοι που μπορούν να χρησιμοποιηθούν για την πρόσβαση σε αυτά τα χαρακτηριστικά. Η κληρονομιά επιτρέπει στον χρήστη να επεκτείνει τάξεις (που ονομάζονται δευτερεύουσες κλάσεις) από άλλες κλάσεις (που ονομάζονται σούπερ κλάσεις). Ο πολυμορφισμός επιτρέπει στον προγραμματιστή να αντικαταστήσει ένα αντικείμενο μιας τάξης στη θέση ενός αντικειμένου της σούπερ κλάσης του. Τυπικά, τα ουσιαστικά που εντοπίζονται στον ορισμό του προβλήματος γίνονται άμεσα τάξεις στο πρόγραμμα. Και ομοίως, τα ρήματα γίνονται μέθοδοι. Μερικές από τις πιο δημοφιλείς γλώσσες OOP είναι Java και C #.

Ποια είναι η διαφορά μεταξύ AOP και OOP;

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