나도 모르게 사용하고 있는 wrapper pattern 에 대해 알아보고자한다.
Object Wrapping
class OriginalClass
{
public void DoSomething()
{
// Do something
}
}
class WrapClass
{
private OriginalClass originalClass;
public WrapClass(OriginalClass originalClass)
{
this.originalClass = originalClass;
}
private void NewSomething()
{
originalClass.DoSomething();
// New Something ....
}
}
생성자를 이용하여 original class 를 wrap 한 코드이다
Inherited-based Wrapping
class OriginalClass
{
public void DoSomething()
{
// Do something
}
}
class WrapClass : OriginalClass
{
private void NewSomething()
{
base.DoSomething();
// New Something ....
}
}
상속을 이용한 wrap 코드이다