기본 클래스에 공유 코드를 넣어 래퍼 클래스에 공통의 논리 작업을하고있는 모든 특정 코드를 넣어 상속 클래스.
public class MySharedCode
{
public void MyShareMethodA()
{
// Shared code.
}
public void MyShareMethodB()
{
// Shared code.
}
}
public class SpecificCodeForASpecificClient:MySharedCode
{
public void SendRequest(MySpecificRequestA request)
{
// Specific code.
}
public MySpecificResponse ReadRepsonse()
{
// Specific code.
}
}
이 제품은 찾고 계신 것입니까? 아니면 모든 클라이언트에 대해 동일한 코드를 송수신합니까? 이 경우 제네릭을 시도해 볼 수 있습니다.
public class MySharedCode<TRequest, TResponse>
where: TResponse: new()
{
public void MyShareMethodA()
{
// Shared code.
}
public void MyShareMethodB()
{
// Shared code.
}
public void SendRequest(TRequest request)
{
// Shared code with specific request.
}
public TResponse ReadRepsonse()
{
// Shared code with specific response.
}
}
이것은 * 흥미로운 질문 일 수 있습니다. 그러나 이것은 현재 명확하지 않으며 대답 할 수 없습니다. – Heinzi
필자의 첫 번째 본능은 요청 및 응답 객체 ('public TResponse Process (TRequest request)')에 제네릭을 사용하라고 지시하는 것이다. 그러나 우리는 조금 더 가야합니다. –
JosephHirn