2

所以我有一个这样的结构:

Widget:
  Component 1:
  Component 2:
  Component 3:
  ...
  Component n:

我正在构建一个 ASP.NET MVC Web 应用程序,作为其功能的一部分,它允许用户创建一个 Widget 对象并将 Component 对象(具有许多属性)分配为 Widget 对象的“子级”。用户可能没有组件或可能添加 50 个。此外,他们可能编辑一个 Widget 对象并任意删除或更改组件属性。

应用程序中的一切都在工作,但我对它的结构方式不满意。目前在提交时,我提交所有组件及其所有属性。我删除当前与此 Widget 关联的所有组件,然后枚举每个组件并重新添加它。

...但我对这个解决方案不满意。对于某些具有大量组件(例如 500 个)的 Widget,即使用户只更改了一个组件,此过程也可能非常耗时。但是替代方案(在每个组件的基础上跟踪创建/更新/删除)似乎构建起来真的很痛苦。

确信我可以做得更好,所以我很想知道可以应用什么样的模式来解决这个问题(一般来说),特别是在 Web 应用程序的上下文中。

4

1 回答 1

1

为什么跟踪创建/更新/删除如此困难?看看我对一个类似问题的回答,即找出存储库中的内容与回发的内容之间的差异。如果每个组件都有一个唯一的 ID(听起来确实如此),那么它应该不会那么困难。此外,对于具有大量组件的大型小部件,它应该会更快一些,因为您不会每次都重新构建它的列表。

于 2009-11-16T19:01:52.913 回答