使用MVC构建对象的分层列表

时间:2011-06-30 12:09:04

标签: design-patterns nested-lists sproutcore

我想构建一个应用程序,用户以分层方式存储数据,例如使用嵌套的条目列表。 例如

  

•取值范

     

•ENTRY2

 °subentry1

 °subentry2

    -subsubentry1
     

•entry3

我想知道哪种方法是使用MVC模式构建它的最佳方法

我认为每个列表都应该是一个控制器数组,每个条目都是一个模型对象。但列表也有标题!

我的猜测是List控制器数组对象应该有两个属性:一个是Entry模型对象的标题和一个可以存储更多List和Entry对象的简单数组。

听起来不错?

第二点是,我如何连接视图对象? Entry视图和List视图对象应该监听鼠标和键盘事件。它们应该使用id系统连接吗?

由于

PS:顺便说一句,我使用sproutcore javascript框架来构建我的应用程序。但我想将讨论视为不可知论,并且可以公开。

1 个答案:

答案 0 :(得分:2)

我不明白为什么MVC对这个问题有任何影响。你所说的只是建模数据。在确定了如何存储它之后,您实际显示它的实现可能会出现,但在此阶段不要担心MVC。

无论如何,快速回答并让您更深入地研究哪种解决方案最适合您的用例。

  • 邻接清单
  • 嵌套集模型
  • 枚举/物化路径
  • ..而另一个我不能为我的生活记住的。

我赞成使用Nested Set来建模像你刚刚提到的那样的heirarchical数据,但我也倾向于同时运行Adjanceyc List,因为我发现它更容易询问我的数据结构。

除非我完全误解你的问题,否则我不明白为什么MVC会参与其中。