我正在将此 ASP.NET 应用程序设计为一个 3 层系统。服务层、数据层和用户界面。我也在正确映射到我的数据模式的服务层中使用 POCOS。我的数据层遵循存储库模式。
我的问题是:在我的服务层/数据层中,我应该使用我的域实体作为我的方法的参数,还是应该将所有属性展平。这里的最佳做法是什么:
这个:
public void AddProduct(ProductDTO newProduct)
或:
public void AddProduct(string ProductName, int Category)
我的印象是第一个更好,问题是 ObjectDataSource 不能很好地发挥它,是否有任何替代数据绑定(bind)您的对象的第一种方法,或者我必须使用手动绑定(bind)。
最佳答案
一定要使用 DTO。否则,每次您向产品添加或删除属性时,您都会从每个调用、传递和调用的方法中添加和删除参数。
使用 DTO,您只需更改/更新调用和被调用方法,并考虑必须传递的参数数量。
关于c# - 对象或值作为我的服务/数据层的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4846322/