5
전략 패턴과 의존성 주입을 사용하여 상속을 완전히 대체 할 수 있습니까?
예를 들면 다음과 같습니다. var duckBehaviors = new Duckbehavior(); duckBehaviors.quackBehavior = new Quack(); duckBehaviors.flyBehavior = new FlyWithWings(); Duck mallardDuck = new Duck(DuckTypes.MallardDuck, duckBehaviors) Duck 클래스에는 모든 비헤이비어 (추상)가 포함되어 있으므로 새 클래스를 만드는 MallardDuck(확장 Duck) 필요하지 않은 것 같습니다. 참조 : 헤드 퍼스트 디자인 패턴, 1 장.