ASP.NET。将整个实体传递给方法或将此实体的每个属性作为参数传递是否更好?

时间:2010-10-14 11:25:12

标签: asp.net oop parameter-passing

我们正在开发一个业务ASP.NET应用程序。将整个实体传递给方法或将此实体的每个属性作为参数传递是否更好?什么是最佳做法? 案例1.将客户实体传递给经理 - InsertCustomer(Customer cust) 案例2.将每个属性作为参数传递 - InsertCustomer(字符串名称,字符串地址等)

P.S。我们使用Entity Framework作为我们的数据访问层

3 个答案:

答案 0 :(得分:3)

传递整个实体,不仅是出于其他答案中给出的原因,而且通常使用长参数链的方法也很糟糕。它们容易出错,从开发的角度来看很难处理(只需看看Interop with Office)

一般来说,如果我看到参数太多(通常超过三个),要么我有一个方法试图做太多,要么我探索在结构中封装这些数据的方法。

答案 1 :(得分:1)

您应该在更新实体时传递整个实体,例如添加或删除您不必更新所有图层中所有方法调用的成员。您只需要更改数据层和消耗实体的层。 asp.net是面向对象的,因此您应该围绕对象定位代码

答案 2 :(得分:1)

面向对象的整个概念需要传递对象。如果一切都在内部发生,我会坚持下去。

如果要将其发布到网络服务/网络等,您需要序列化,因此可能会发现传递每个参数更好,特别是如果接收框架不同。

不要忘记你的字符串等也是所有对象。

我同意另一张海报,传递整个实体“封装”所有内容,以便可以更新/修改,以免您担心。