首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >更新命令-Architecture问题

更新命令-Architecture问题
EN

Stack Overflow用户
提问于 2009-10-13 21:05:51
回答 2查看 67关注 0票数 0

场景:

您需要更新客户的两个字段。

项目中的任何地方都没有UpdateCustomer方法

您是否应该创建一个名为UpdateCustomer( customer )的方法,该方法可以接受一个完整的customer对象,只需对所有字段进行全部更新

例如(很明显,名称仅用于在这里发布)创建一个UpdateCustomer2Fields(字符串月份,字符串年份),并只更新这2个字段

我能想象出一堆该死的UpdateCustomerThis UpdateCustomerThat

但是,如果我只公开一个UpdateCustomer,我就可以传递给它一个customer对象,并让它更新任何东西,并在任何地方使用它。

很好,坏蛋?走哪条路。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-10-13 21:19:04

您应该只更新所有字段,除非有理由不这样做,以减少您的维护头痛。

不更新所有字段的原因。这些都是非常具体的环境,并且只有在您在您的环境中观察到它们时才有效。

  1. 绝大多数事务都是更新,由于不必要的数据通过网络传递,造成了沉重的负担。
  2. --业务或法律法规要求您准确记录用户对每个事务更改的确切数据(这些数据确实存在)。但是,根据环境的不同,最好在数据库服务器上记录这一点。
  3. 某些用户不应该有对某些字段的更新访问权限。这是特定于体系结构的,并且与您公开功能的方式有关。如果某人必须具有某些凭据才能更新特定信息,那么通常情况下,您将不希望每个事务都更新所有信息。这可以是动态的,并可能导致传入一个字段字典来更新(或无数其他选择)。我通常使用具有不同访问权限的多个使用者的服务来使用分层体系结构。
  4. ,我错过了什么吗?

通常,答案是只传递整个对象。

票数 1
EN

Stack Overflow用户

发布于 2009-10-13 21:09:47

创建一个名为UpdateCustomer( customer )的方法,该方法可以接受一个完整的customer对象,只需对所有字段进行全部更新。

保持简单。现在你可以把时间花在更大的问题上了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1562890

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档