BaseClass 형식의 매개 변수를 허용하는 3 개의 함수를 작성한 다음 반환 값으로 DerivedClasses를 반환해야합니다.코드 디자인 패턴 적용을 통한 리펙토링
Public DerivedClass1 SimpleTest1(BaseClass baseType)
{
DerivedClass1 derivedClass1 = new DerivedClass1();
derivedClass1.item = baseType.item;
derivedClass1.itemGroup = baseType.itemGroup;
return derivedClass1;
}
Public DerivedClass2 SimpleTest2(BaseClass baseType)
{
DerivedClass2 derivedClass2 = new DerivedClass2();
derivedClass2.item = baseType.item;
derivedClass2.itemGroup = baseType.itemGroup;
return derivedClass2;
}
Public DerivedClass3 SimpleTest3(BaseClass baseType)
{
DerivedClass3 derivedClass3 = new DerivedClass3();
derivedClass3.item = baseType.item;
derivedClass3.itemGroup = baseType.itemGroup;
return derivedClass3;
}
모든 3 가지 방법으로 작성된 코드는 동일합니다. 코드 중복없이 이것을 달성하는 더 좋은 방법이 있습니까? 여기에 적용 할 수있는 특정 디자인 패턴이 있습니까?
흥미 롭. 새로운 T()와 dbaseman의 Activator.CreateInstance() 사용에 대한 pro, con의 생각? – dreza
@dreza : [this] (http://stackoverflow.com/a/1649108/312124) 대답에 따르면, 아무 것도 없습니다. –
어떤 종류의 유형을 사용할 수 있는지에 관해서는 new()를 사용하는 것이 더 좋다고 생각합니다. –