我们有一个Web API库,它调用业务/服务库(我们的业务逻辑所在的位置),该库又调用一个数据访问库(Repository)。这个班级如何设计得更好?
我们使用这种类型的数据传输对象到处都是。它有一个“付款人”的财产,我们可能不得不过滤(意味着,操纵其价值)。我已经开始执行这项检查,但对我来说感觉很肮脏,因为我在各地都调用了相同的功能。我曾经想过之一:
- 使用属性过滤器来处理这个或
- 制作上的RequestData类的属性,并做过滤在构造函数中。
有任何其他想法或设计图,其中这可以更有效地设计:
public class Example
{
private MyRepository _repo = new MyRepository();
private void FilterRequestData(RequestData data)
{
//will call into another class that may or may not alter RequestData.Payers
}
public List<ReturnData> GetMyDataExample1(RequestData data)
{
FilterRequestData(RequestData data);
return _repo.GetMyDataExample1(data);
}
public List<ReturnData> GetMyDataExample2(RequestData data)
{
FilterRequestData(RequestData data);
return _repo.GetMyDataExample2(data);
}
public List<ReturnData> GetMyDataExample3(RequestData data)
{
FilterRequestData(RequestData data);
return _repo.GetMyDataExample3(data);
}
}
public class RequestData
{
List<string> Payers {get;set;}
}