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

 

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

Data Access and Business Logic Layer παράδειγμα

Îåêßíçóå áðü ôï ìÝëïò Ηλίας Κεκάκος. Τελευταία δημοσίευση από το μέλος dimkasta στις 20-11-2006, 13:48. Υπάρχουν 6 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  19-11-2006, 15:41 20694

    Data Access and Business Logic Layer παράδειγμα

       Γειά σας,  προσπαθώ να ξεφύγω από τον παλιό τρόπο προγραμματισμου και να μπώ στο DAL & BLL. Μπορεί να μου στείλει κάποος ένα πρόγραμμα που χρησιμοποιεί την βάση δεδομένων Northwind και κάνει display 2-3 πίνακες πχ Customers, Orders, Order Items, σε μία φόρμα ώστε να μπορέσω να δώ αν αυτά που έμαθα μόνος μου τα εμπέδωσα σωστά. Θα ήθελα να έχει DAL κάποιο υποτιπώδες BLL και το Presentation Layer.

     

      Thanks in advance

  •  19-11-2006, 16:49 20695 σε απάντηση της 20694

    Απ: Data Access and Business Logic Layer παράδειγμα

    Θα πρέπει να διατυπώσεις διαφορετικά την ερώτηση. Ο παλιός τρόπος είναι ακριβώς η λογική του "δείχνω μερικούς πίνακες σε κάποιες φόρμες". Ο λόγος που δημιουργούνται αντικείμενα και χωρίζονται σε business layer και data layer είναι επειδή στις περισσότερες εφαρμογές απαιτείται πιο περίπλοκη λογική από την απλή παρουσίαση των πινάκων στις φόρμες. Οπότε το ερώτημα γίνεται, τί θέλεις να κάνει η εφαρμογή?

    Η δουλειά του data layer είναι σχετικά απλή, να μεταφέρει δεδομένα μεταξύ των αντικειμένων του business layer και της βάσης. Η δουλειά του business layer όμως έχει να κάνει με το τί θα κάνει η εφαρμογή. Διαφορετικά αντικείμενα, με διαφορετικές μεθόδους θα φτιάξεις για μία εφαρμογή αποθήκης, διαφορετικά για ένα e-commerce site, διαφορετικά για ένα CRM. Θα μπορούσες, π.χ. να φτιάξεις μερικά αντικείμενα όπως Customer, Order, OrderItem, αλλά τί θέλεις να κάνουν αυτά? Τα αντικείμενα δημιουργούνται για να εκτελέσουν συγκεκριμένες λειτουργίες, όχι για να περιέχουν συγκεκριμένα δεδομένα.

    Σε μία εφαρμογή αποθήκης χρειάζεσαι μεθόδους για την ενημέρωση του stock, την επιλογή των αντικειμένων που θα στείλεις στους πελάτες, τον προγραμματισμό για την αποστολή των παραγγελιών. Σε μία εφαρμογή e-commerce, θέλεις τιμολόγηση, εκπτώσεις, προσφορές. Σε ένα CRM θέλεις ιστορικό πωλήσεων ανά πελάτη. Όλες αυτές οι λειτουργίες σε μία μικρή εφαρμογή θα μπορούσαν να βρίσκονται μέσα στις φόρμες και να εκτελούνται όταν π.χ. πατάει ο χρήστης ένα κουμπί. Σε οποιαδήποτε άλλη εφαρμογή, αυτές οι λειτουργίες γίνονται μέθοδοι των αντικειμένων του business layers.

    Τέλος, αν υπεραπλουστεύσουμε, μπορούμε να πούμε ότι ο ρόλος του presentation layer είναι να δείχνει στο χρήστη τα δεδομένα που περιέχουν τα αντικείμενα και να μεταφέρει σε αυτά τις εντολές του χρήστη. Αν η εφαρμογή σου είναι command-line, το presentation layer απλά θα διαβάζει τις παραμέτρους και θα καλεί τις κατάλληλες μεθόδους στο business layer. Αν έχεις UI, μπορείς στο Click event ενός κουμπιού να διαβάσεις τα απαραίτητα στοιχεία από τη φόρμα και να καλέσεις τις κατάλληλες μεθόδους του business layer.

    Θα σου πρότεινα να βρεις κάποια βιβλία για Object-Oriented programming και Patterns. To Head First Design Patterns είναι ένα πολύ καλό και διασκεδαστικό βιβλίο. Παρότι είναι σε Java δεν θα έχεις πρόβλημα να το καταλάβεις και να εφαρμόσεις όσα περιγράφει και σε .NET.


    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  20-11-2006, 09:41 20713 σε απάντηση της 20695

    Απ: Data Access and Business Logic Layer παράδειγμα

     pkanavos wrote:

    Θα σου πρότεινα να βρεις κάποια βιβλία για Object-Oriented programming και Patterns. To Head First Design Patterns είναι ένα πολύ καλό και διασκεδαστικό βιβλίο. Παρότι είναι σε Java δεν θα έχεις πρόβλημα να το καταλάβεις και να εφαρμόσεις όσα περιγράφει και σε .NET.

    Ωραίο βιβλίο, αλλά δεν θα βοηθήσει και πολύ στην κατανόηση του πώς πρέπει να γίνεται διαχωρισμός DAL-BLL. Παρ' όλα αυτά μπορείς να πάρεις μια πρώτη ιδέα κάποιων δοκιμασμένων (προχωρημένων) τεχνικών για την ανάπτυξη του BLL.

     


    Simple Photography
  •  20-11-2006, 10:16 20714 σε απάντηση της 20713

    Απ: Data Access and Business Logic Layer παράδειγμα

    Διαφωνώ σε αυτό, γι αυτό και πρότεινα το βιβλίο. Το συγκεκριμένο βιβλίο είναι εισαγωγικό και δεν αναφέρεται σε προχωρημένες αλλά στις βασικές τεχνικές σχεδίασης μίας εφαρμογής. Εξάλλου, τα patterns περιγράφουν ακριβώς πως να ξεχωρίσεις τί θα πάει στο business ή το presentation και τί είναι το data layer. Το Head First περιγράφει αυτά τα θέματα χωρίς να μπερδεύει όποιον αντιμετωπίζει το θέμα για πρώτη φορά.

    Για παράδειγμα, ένας τρόπος να ξεχωρίσει το business από το presentation είναι το MVC patterns. To Heads First Design Patterns το περιγράφει με πολύ απλό τρόπο, επιτρέποντας σε κάποιον να καταλάβει πως να το χρησιμοποιήσει, ποιά αντικείμενα θα χρειαστούν στο Presentation, ποιά στο business, και ποιά θα πάνε στο data layer.
    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  20-11-2006, 10:19 20715 σε απάντηση της 20713

    Απ: Data Access and Business Logic Layer παράδειγμα

    Το Head First Design Patterns είναι ίσως το ποιο διασκεδαστικό βιβλίο που έχω διαβάσει... Μου άρεσε τόσο πολύ που το τελείωσα μέσα σε 2 μέρες...
    Palladinos Nick
    Software Engineer
    -----------------------
    The limits of my language mean the limits of my world. (Ludwig Wittgenstein)
  •  20-11-2006, 11:47 20718 σε απάντηση της 20715

    Απ: Data Access and Business Logic Layer παράδειγμα

    Ακριβός αυτό που ζητάς δεν ξέρω αν υπάρχει άλλα για κώδικα

    δες αυτά μήπως κάποιο σε βοηθήσει

    http://www.bltoolkit.com/

    http://devcenter.infragistics.com/RefApps/Tracker/tracker.aspx

    http://www.lhotka.net/

  •  20-11-2006, 13:48 20727 σε απάντηση της 20718

    Απ: Data Access and Business Logic Layer παράδειγμα

    OK έχεις δίκιο. Το "προχωρημένων" είναι ατυχές σαν έκφραση. Καλύτερα θα ήτανε "καλή γνώση των βασικών αρχών Object Oriented προγραμματισμού".

    πχ πχ interfaces, abstract classes, inheritance, polymprphism....

    Απο κει και πέρα όντως έχεις δίκιο και για το ΜVC. Δεν ξέρω για κάποιο λόγο έχω συνδυάσει το βιβλίο αποκλειστικά με BLL, factories, decorator και filter...

    Και γω το διάβασα μονορούφι.

    ΠΡΟΣΟΧΗ!!!!

    ΔΕΝ χρειάζεται πάντα να εφαρμόζεις αυτά που διάβασες...

    Την πάτησα κανα δυο φορές και κατέληξα να γράψω κάτι πολύ πιο δυσ-συντήρητο...

    (Όταν έχεις στα χέρια σου σφυρί, ειδικά αν είναι ολοκαίνουριο και γυαλιστερό, τα πάντα σου μοιάζουνε καρφιά...)
    Simple Photography
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems