Design Patterns - Strategy Pattern
Key words: Dependency injection
UML
Not Good Design
Better Design
Code
class Duck {
IFlyBehavior fb;
IQuackBehavior qb;
IDisplayBehavior db;
public Duck (IFlyBehavior fb, IQuackBehavior fb,
IDisplayBehavior db) {
this.fb = fb;
this.qb = qb;
this.db = db;
}
public void fly() {
this.fb.fly()
}
public void quack() {
this.qb.fly()
}
public void display() {
this.db.display()
}
}