데코레이터 패턴에 대한 이전의 이해는 Window
을 WindowDecorator
으로 상속 한 다음 오버라이드 된 메서드에서 해당 메서드의 Window
을 호출하기 전에 몇 가지 추가 작업을 수행해야한다는 것입니다. 다음과 유사한 :상속 대신 컴포지션을 사용하는 데코레이터 패턴
public class Window
{
public virtual void Open()
{
// Open the window
}
}
public class LockableWindow : Window // Decorator
{
public virtual void Open()
{
// Unlock the window
base.Open();
}
}
그러나이 본질적으로 장식을 하드 코드, 그래서 방법이 대신 상속의 구성을 사용하는 리팩토링 할 것인가?
녹슬지는 않지만 가상 인터페이스 메서드를 구현하는 데 필요하지 않지만 –
감사합니다. 나는 닷넷 1.0 이후로 아무 것도 쓰지 않았다. 이 질문에 새로운 언어 기능이 필요 없다는 것입니다. –