User Tools

Site Tools


oop:bridge_pattern

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
oop:bridge_pattern [2026/05/25 12:45] – [Παράδειγμα] gthanosoop:bridge_pattern [2026/05/25 12:46] (current) – [Παράδειγμα] gthanos
Line 228: Line 228:
 </code> </code>
  
 +<WRAP tip 90% center round>
 Συνοψίζοντας, τα οφέλη αυτής της αρχιτεκτονικής είναι τα εξής: Συνοψίζοντας, τα οφέλη αυτής της αρχιτεκτονικής είναι τα εξής:
- 
   - **Αποφυγή πολύπλοκων ιεραρχιών κλάσεων:** Αν είχαμε χρησιμοποιήσει παραδοσιακή κληρονομικότητα θα δημιουργούσαμε πολλές συνδυαστικές κλάσεις (TvBasicRemote, TvAdvancedRemote, RadioBasicRemote, RadioAdvancedRemote). Με το Bridge, κρατήσαμε τον κώδικα διαχωρισμένο σε δύο ανεξάρτητους άξονες: Τηλεχειριστήρια και Συσκευές.   - **Αποφυγή πολύπλοκων ιεραρχιών κλάσεων:** Αν είχαμε χρησιμοποιήσει παραδοσιακή κληρονομικότητα θα δημιουργούσαμε πολλές συνδυαστικές κλάσεις (TvBasicRemote, TvAdvancedRemote, RadioBasicRemote, RadioAdvancedRemote). Με το Bridge, κρατήσαμε τον κώδικα διαχωρισμένο σε δύο ανεξάρτητους άξονες: Τηλεχειριστήρια και Συσκευές.
   - **Ανεξάρτητη Εξέλιξη (Orthogonal Extension):**    - **Ανεξάρτητη Εξέλιξη (Orthogonal Extension):** 
Line 238: Line 238:
     * Μια νέα συσκευή, π.χ. SmartProjector, απλά υλοποιείς το Device. Όλα τα τηλεχειριστήρια θα δουλέψουν μαζί της αμέσως.     * Μια νέα συσκευή, π.χ. SmartProjector, απλά υλοποιείς το Device. Όλα τα τηλεχειριστήρια θα δουλέψουν μαζί της αμέσως.
     * Ένα νέο τηλεχειριστήριο, π.χ. VoiceRemoteControl, απλά κληρονομείς το RemoteControl. Θα μπορεί να ελέγξει όλες τις υπάρχουσες συσκευές αμέσως.     * Ένα νέο τηλεχειριστήριο, π.χ. VoiceRemoteControl, απλά κληρονομείς το RemoteControl. Θα μπορεί να ελέγξει όλες τις υπάρχουσες συσκευές αμέσως.
- +</WRAP>
oop/bridge_pattern.txt · Last modified: 2026/05/25 12:46 by gthanos