J'ai cherché des exemples pour le modèle de pont et l'exemple suivant explique très bien le motif de conception mais j'ai une question à propos de cet exemple. Que dois-je faire par exemple? l'engrenage automatique handleGear diffère pour la voiture ou le camion? Pourriez-vous s'il vous plaît fournir un exemple de code pour cette situation?Modèle de pont implémentation différente par type
/* Implementor interface*/
interface Gear{
void handleGear();
}
/* Concrete Implementor - 1 */
class ManualGear implements Gear{
public void handleGear(){
System.out.println("Manual gear");
}
}
/* Concrete Implementor - 2 */
class AutoGear implements Gear{
public void handleGear(){
System.out.println("Auto gear");
}
}
/* Abstraction (abstract class) */
abstract class Vehicle {
Gear gear;
public Vehicle(Gear gear){
this.gear = gear;
}
abstract void addGear();
}
/* RefinedAbstraction - 1*/
class Car extends Vehicle{
public Car(Gear gear){
super(gear);
// initialize various other Car components to make the car
}
public void addGear(){
System.out.print("Car handles ");
gear.handleGear();
}
}
/* RefinedAbstraction - 2 */
class Truck extends Vehicle{
public Truck(Gear gear){
super(gear);
// initialize various other Truck components to make the car
}
public void addGear(){
System.out.print("Truck handles ");
gear.handleGear();
}
}
/* Client program */
public class BridgeDemo {
public static void main(String args[]){
Gear gear = new ManualGear();
Vehicle vehicle = new Car(gear);
vehicle.addGear();
gear = new AutoGear();
vehicle = new Car(gear);
vehicle.addGear();
gear = new ManualGear();
vehicle = new Truck(gear);
vehicle.addGear();
gear = new AutoGear();
vehicle = new Truck(gear);
vehicle.addGear();
}
}
Merci beaucoup. Maintenant, je me défais de ce genre de problème de pont modèle essayer de résoudre.Article John Sonmez sur le modèle de pont que je trouve ici https://simpleprogrammer.com/2015/06/08/design-patterns-simplified-the-bridge-pattern/ explique très bien le motif. –