我们正在开发一个业务ASP.NET应用程序。将整个实体传递给方法还是将该实体的每个属性作为参数传递更好?最佳实践是什么?案例1.将客户实体传递给manager -InsertCustomer(客户客户)案例2.将每个属性作为参数- InsertCustomer(string name,string address...etc)传递
附注:我们使用Entity Framework作为数据访问层
发布于 2010-10-14 19:41:21
传递整个实体,不仅是因为其他答案中给出的原因,而且通常具有长参数链的方法都是不好的。它们容易出错,并且从开发的角度来看很难使用(只要看看Office的Interop就知道了)
一般来说,如果我看到我得到了太多的参数(通常超过三个),要么是我的方法试图做太多的事情,要么是我探索了将这些数据封装在结构中的方法。
发布于 2010-10-14 19:30:54
您应该传递整个实体,因为当您更新实体时,例如添加或删除成员,您不必更新所有层中的所有方法调用。您只需更改您的数据层和使用实体的层。asp.net是面向对象的,因此您应该围绕对象来确定代码的方向
发布于 2010-10-14 19:33:10
面向对象的整个概念都需要传递对象。如果一切都是在内部发生的,我会这样做。
如果这是通过网络等发布到the服务的,则需要序列化,因此可能会发现传递每个单独的参数更好,特别是在接收框架不同的情况下。
不要忘记你的字符串等也都是对象。
我同意另一种观点,传递一个完整的实体“封装”所有的东西,这样它就可以被更新/修改,这样你就没有那么多需要担心的了。
https://stackoverflow.com/questions/3932601
复制相似问题