对象或值作为我的服务/数据层的参数

发布于 2024-10-15 04:23:48 字数 430 浏览 2 评论 0原文

我正在将这个 ASP.NET 应用程序设计为一个 3 层系统。服务层、数据层和用户界面。我还在服务层中使用 POCOS,正确映射到我的数据模式。我的数据层遵循存储库模式。

我的问题是:在我的服务层/数据层中,我应该使用域实体作为我的方法的参数,还是应该扁平化所有属性。这里的最佳实践是什么:

这个:

public void AddProduct(ProductDTO newProduct)

或:

public void AddProduct(string ProductName, int Category)

我的印象是第一个更好,问题是 ObjectDataSource 不能很好地发挥作用,是否有任何替代方法可以使用第一种方法对对象进行数据绑定,或者我会吗?必须手动绑定。

I am designing this ASP.NET application as a 3 tiered system. Service Layer, Data Layer and User Interface. I am also using POCOS in the service layer properly mapped to my data schema. My Data layer follows the Repository pattern.

My question is: in my service layer / data layer should I be using my domain entities as parameters for my methods or should I just flatten all the properties. What is the best practice here:

this:

public void AddProduct(ProductDTO newProduct)

or:

public void AddProduct(string ProductName, int Category)

My impression is that the first one is better, the problem is that ObjectDataSource does not play well it it, is there any alternative to databind your objects that works the first approach, or will I have to go with manual binding.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

春庭雪 2024-10-22 04:23:48

一定要使用 DTO。否则,每次向产品添加或删除属性时,您都会在每个调用、传递和被调用方法中添加和删除参数。

使用 DTO,您只需更改/更新调用和被调用的方法,并考虑必须传递的参数数量。

Definitely use a DTO. Otherwise every time you add or remove properties to products, you'll be adding and removing params from every calling, passing and called method.

With using a DTO, you only have to change/update the calling and the called method and think about the number of params you'd have to pass.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文