Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Τον τελευταίο καιρό διαβάζω για τα παρακάτω design patterns

 

1. Factory

2. Singleton

3. Adapter

4. Bridge

5. Proxy

6. Composite

7. DAO

 

και η απορία μου είναι η εξής:

 

Κάθε pattern ( αν το δουμε απο την πλευρά του χρήστη και το interface ) έχει συγκεκριμένα χαρακτηριστικά οπως:

 

Το bridge pattern ξεχωρίζει το interface απο την υλοποίηση κ.τ.λ

 

Μπορεί κάποιος που γνωρίζει να μου εξηγήσει με ενα παραδειγματάκι για κάθε pattern πως χρησιμοποιείται και πως λειτουργεί αν ξεχωρίσουμε το Interface με την υλοποίηση;;;

 

Δεν ζητώ κώδικα αλλα τυχαία παραδειγματάκια....π.χ στο adapter pattern υποθετουμε πως ο χρήστης μπορεί να δημιουργήσει 3 σχήματα ( κυκλο , τετράγωνο , ρομβος ) καθε φορα που επιλέγει ενα button...

 

Συμπέρασμα: το Interface σχετίζεται αμεσα με την υλοποίηση.

Δημοσ.

Τα patterns που αναφέρεις, εκτός από το τελευταίο ανήκουν στα 23 gof (gang of four) patterns.

Εδώ θα βρεις ένα άρθρο που εξηγεί με απλά καθημερινά παραδείγματα τι κάνει κάθε pattern.

Αφού το διαβάσεις δες εδώ για πιο συγκεκριμένα.

Τέλος, αφού ασχολείσαι με τα patterns μπορείς να δανειστείς (αν είσαι σε κάποια σχολή) το εξής βιβλίο. Δεν είναι για διάβασμα από την αρχή μέχρι το τέλος. Το χρησιμοποιείς όπως και ένα λεξικό κοιτάζοντας στο pattern που σε ενδιαφέρει.

 

Όσο για το DAO (Data Access Object, σωστα?) θα σου δώσω ένα προσωπικό παράδειγμα υλοποίησης του.

Σε όλες μου τις εφαρμογές (web) χρησιμοποιώ τη multi-tier αρχιτεκτονική όπου χωρίζει την εφαρμογή σου σε presentation, application και data layer. Κάθε layer αναλαμβάνει συγκεκριμένες λειτουργίες και σε θέματα επικοινωνία δεν παραβιάζεται η σειρά των layers. π.χ. αν το presentation έχει κάποια data τα οποία πρέπει να τα γράψει στη βάση δεδομένων, τότε θα τα περάσει στο application layer και αυτό με τη σειρά του στο data layer, με το τελευταίο να τα γράφει στη βάση.

Για το DataLayer μου χρησιμοποιώ πάντα μία Data class (DAO) στην οποία γράφω functions που κάνουν το CRUD(create, read, update and delete) με τη βάση. Τέτοιες μεθοδοι είναι , διάβασε το τάδε, ανανέωσε το τάδε, διέγραψε το ταδε, κλπ.

Σε περίπτωση που θες να αλλάξεις βάση (μου έτυχε να αλλάξω από mysql σε mongodb) αλλάζεις μόνο το πως γίνονται τα queries μεσα στις functions και όλος ο υπόλοιπος κώδικας παραμένει ο ίδιος.

 

Μαζεύοντας το παραπάνω σε μία πρόταση:

Το DAO είναι το μοναδικό αντικείμενο πρόσβασης στα αποθηκευμένα δεδομένα της εφαρμογής σου.

  • Like 1

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...