我有看起来像这样的WCF方法:

public GetRecordsResponse GetRecords(GetRecordsRequest request)
        {
            GetRecordsResponse response = new GetRecordsResponse();

                Util.GetRecords.VerifyMandatoryParameters(request);
                //make sure mandatory parameters have correct values.
                Util.GetRecords.SetDefaultValues(request);

                Util.GetRecords.SetDefaultResponseValues(request, response);

                DataReader.GetRecords.GetAllRecords(request, response);

            return response;
        }


我拥有整个DAL和许多Helper方法作为静态类和方法是错误的吗?如果是这样,为什么?

最佳答案

使用静态方法的结果是,您可以访问实例变量(如属性和字段),这意味着您需要将请求传递给每个方法。

如果您使用GetRecords的实例,您可以做些客气

   GetRecords gr = new gr();
   gr.Request = request;
   gr.VerifyMandatoryParameters();
   gr.SetDefaultValues();
   gr.SetDefaultResponseValues(response);
   gr.GetAllRecords();


同样,如果您实现了流畅的界面,则可以这样编写。

   GetRecords gr = new gr();
   gr.SetRequest(request)
     .VerifyMandatoryParameters()
     .SetDefaultValues()
     .SetDefaultResponseValues(response)
     .GetAllRecords();


但是你所做的没有任何“错误”

10-08 06:52