如何避免编写重复的代码

时间:2013-04-24 13:10:11

标签: c# .net-4.0

好的,我刚才有一个问题。

我需要一些专家建议;我有代码,由多个客户端使用。这是一件好事,没有来自不同客户端的重写逻辑,但不同客户端的请求和响应对象是不同的;这不是一件好事,导致我重写一些逻辑。

有没有办法可以减轻这种情况?我怎样才能满足不同的客户/服务?

2 个答案:

答案 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.
    }
}