kkara wrote: |
Μια απλή (και γρήγορη) πρακτική είναι να το έχεις ως public property του MDI form σου. Τότε από τα mdi child forms μπορείς να βρίσκεις τον γονέα, να τον κάνεις cast στη συγκεκριμένη κλάση του mdi form σου και να πέρνεις το property. Αυτό γενικώς δεν είναι και best practice γιατί συγχέεις πολύ την πρόσβαση στη Βάση Δεδομένων με το GUI σου. Πιο σωστό θα ήταν να έχεις μια κλάση (ή ένα layer;) που να κάνει την πρόσβαση στη Βάση Δεδομένων και το οποίο να έχει σε μια μεταβλητή και το Connection String και να έχεις ένα instance αυτής της κλάσης για να κάνεις τη δουλειά σου... |
|
Και βέβαια δεν είναι best practice! Eίναι ο ορισμός του quick & dirty και πρέπει να το αποφεύγεις όπως ο διάολος το λιβάνι. Αν θέλεις να φέρνεις data από τη βάση σου, βάλε τις σχετικές λειτουργίες σε διαφορετικές κλάσεις, να μη σου πω assembly. Με τον τρόπο αυτό:
- Μπορείς να αλλάξεις σε χρόνο 0 το UI σου χωρίς να αγγίξεις τον DB-bound κώδικα.
- Μπορείς να αλλάξεις το σχήμα της βάσης σου εύκολα.
- Μπορείς να μεταφέρεις την εφαρμογή σου σε άλλο DBMS χωρίς να πειράξεις το UI.
- Μπορείς να μετατρέψεις το domain σου σε enterprise components (UIless)
- κλπ κλπ.
Προσωπικά θεωρώ πολύ καλή και "καθαρή" τακτική το domain και το UI να βρίσκονται σε διαφορετικές assemblies με καθαρά public interfaces μεταξύ τους, για να σε αποτρέπουν από το να κάνεις μαμουνιές.
Νατάσα Μανουσοπούλου