Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

Aspect Oriented Programming για .NET ?

Îåêßíçóå áðü ôï ìÝëïò Παναγιώτης Καναβός. Τελευταία δημοσίευση από το μέλος Παναγιώτης Καναβός στις 04-10-2004, 14:26. Υπάρχουν 2 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  03-10-2004, 20:49 218

    Aspect Oriented Programming για .NET ?

    Διάβασα το παρακάτω στο τεύχος Οκτωβρίου του Software Development Magazine, στο άρθρο The more the merrier του George Kiczales:

    When Bill Gates recently declared his designs on aspect-oriented programming, the response was mixed—while some feared a deadly embrace, others saw it as a good sign.

    At his July 2004 breakfast meeting with software architects in Sydney, Australia, Bill Gates announced Microsoft’s plans to embrace aspect-oriented programming ...


    Αυτή τη στιγμή το .NET δεν υποστηρίζει Aspect Oriented Programming, αν και ένα μέρος της συμπεριφοράς του AOP μπορεί να υλοποιηθεί με τη χρήση attributes και ολίγης αλχημείας. Στο χώρο της Java το AOP χρησιμοποιείται ευρύτατα, με πιό γνωστή περίπτωση ίσως το JBOSS, το οποίο χρησιμοποιεί Aspects για να παρέχει υπηρεσίες για transactions, ασφάλεια κλπ.
    Μέχρι πρόσφατα το μέλλον των Aspects στο .NET φαινόταν αβέβαιο, κυρίως επειδή άτομα όπως ο Don Box (αρχιτέκτονας στην ομάδα του Indigo) δεν είχαν πειστεί για τη χρησιμότητά του. Ότι είχε γίνει ως τώρα, είχε γίνει από ανεξάρτητες ομάδες, όπως το AspectDNG στο
    www.dotnetguru.org
    .

    Έχει ακούσει κανείς άλλος κάτι σχετικό?



    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  04-10-2004, 13:05 219 σε απάντηση της 218

    Re: Aspect Oriented Programming για .NET ?

    Η πρώτη μου «επαφή» με AOP ήταν σε ένα event της Microsoft (νομίζω φέτος) που είχε μιλήσει λίγο για το θέμα αυτό ο Clemens Vasters.  Στην TechEd 2004, παρακολούθησα ένα session για AOP που ήταν ιδιαίτερα ενδιαφέρον, κυρίως διότι κατάλαβα μία σημαντική διαφορά:  αυτή μεταξύ των Attribute Programming και AOP.  Ναι, με attributes και λίγα μαγικά (με contexts) μπορείς να κάνεις pseudo-AOP, αλλά η πραγματική μαγεία του AOP είναι να μπορείς να ορίζεις τα aspects σε άλλο σημείο – έξω από τον κώδικά σου.  Να μπορείς, για παράδειγμα, να πεις (με regular expressions γίνεται αυτό συνήθως) ότι για όλες οι set ρουτίνες ισχύει αυτό το aspect και για όλες τις ρουτίνες που ξεκινάνε από log* ισχύει το άλλο aspect, κλπ.  Δεν ξέρω αν γίνομαι κατανοητός, αλλά βιάζομαι λίγο και δεν μπορώ να τα εξηγήσω με μεγαλύτερη λεπτομέρεια!

    Περισσότερες πληροφορίες εδώ: http://www.coolcat.de/ (μόλις μετακόμισε το blog του, οπότε κοιτάξτε στο blog backup)

    Επίσης, ρίξτε μια ματιά σε αυτό το άρθρο:
    http://weblogs.java.net/blog/danmil/archive/2004/03/why_i_fear_aspe.html

     

     


    Patrick
  •  04-10-2004, 14:26 220 σε απάντηση της 219

    Re: Aspect Oriented Programming για .NET ?

    Την θυμάμαι αυτή την παρουσίαση. Θυμάμαι και ότι ο Vasters ήταν επίσης ψιλοαρνητικός για το AOP. Πάντως, η χρήση των regular expressions δεν διαφέρει από τα attributes στον τομέα της υλοποίησης. Και στις δύο περιπτώσεις πρέπει να αναγκάσεις τις κλάσεις σου να τρέξουν σε διαφορετικό context ώστε να μπορέσεις να βάλεις "φίλτρα" πριν και μετά την κλήση τους. Τα aspects περιορίζονται έτσι μόνο στο φιλτράρισμα των κλήσεων.
    Η σημαντική αλλαγή είναι ότι αντί να ορίζει ο συγγραφέας της κλάσης τα aspects μέσω attributes, τα ορίζει ο χρήστης μέσω regular expressions.

    Αυτό που χρειάζεται είναι πραγματική υποστήριξη σε επίπεδο πλατφόρμας, χρησιμοποιώντας απλή σύνταξη και με ελάχιστη επιβάρυνση της εφαρμογής. Αυτό είναι που ελπίζω να δημιουργηθεί τώρα με την υποστήριξη του Bill Gates. Αν όχι τίποτε άλλο, δεν αντέχω τους προγραμματιστές του JBoss να λένε ότι ποτέ δεν θα δούμε aspects στη C#.
    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems