好的,我刚才有一个问题。
我需要一些专家建议;我有代码,由多个客户端使用。这是一件好事,没有来自不同客户端的重写逻辑,但不同客户端的请求和响应对象是不同的;这不是一件好事,导致我重写一些逻辑。
有没有办法可以减轻这种情况?我怎样才能满足不同的客户/服务?
答案 0 :(得分:1)
步骤1.使用相同的界面包装类中不同的内容
步骤2.使用包装类
使公共逻辑工作答案 1 :(得分:0)
将您的共享代码放在基类中,并将所有特定代码放在继承类中。
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.
}
}