지금 당장은 8 개의 메소드가 ClassA에 대한 기능을 제공하는 약 10 개의 메소드가 포함 된 래퍼 클래스가 있습니다 & 2 개의 메소드가 ClassB에 기능을 제공하므로 ClassA와 ClassB를 래퍼 클래스 생성자로 인스턴스화 할 계획입니다. 적절한 방법으로 사용하십시오.C# 클래스 디자인 문제
이 디자인은 괜찮습니까? 아니면 뭔가 빠졌습니까? 이 접근법의 단점은 사용자가 잘못된 생성자 매개 변수를 전달하고 잘못된 메서드를 사용하면 호출하는 앱이 예외를 수신한다는 것입니다. 아래
참조 샘플 코드 : 사전에
Public class Wrapper
{
ClassA _a = null;
ClassB _b = null;
public Wrapper(bool createClassA)
{
if (createClassA)
{
_a = new ClassA();
}
else
{
_b = new ClassB();
}
}
public string Method1()
{
return _a.ReturnSomething();
}
//similarly Method2 to Method8 calls _a class methods.
public void Method9()
{
return _b.DoSomething();
}
public string Method10()
{
return _b.ReturnTestMessage();
}
}
감사합니다.
은 무엇인가를 호출하는 경우 래퍼가 명시 적으로 예외를 throw하는
다른 방법으로는, 더 나은 될 수있다 cstor에 조건부 초기화가있는 지점? –
이것은 ... 잘못된 것 같습니다. 인터페이스 사용법을 알고 있습니까? –
아니이 디자인은 괜찮지 않아 ..... 왜 이러는거야? –