【问题标题】:What are differences between tree data structure and composite design pattern?树数据结构和复合设计模式有什么区别?
【发布时间】:2018-07-05 13:46:38
【问题描述】:

我正在为我的项目设计产品类别管理功能。基本上,一个产品类别具有以下属性:

  • 身份证
  • 姓名
  • 父类
  • 子类别

现在我想在 UI 上将所有产品类别显示为树形视图。它看起来像:

  • 电气设备
    • 电脑
      • 桌面
      • 笔记本电脑
      • 服务器
    • 智能手机 ...
  • 衣服
    • 男士
      • 衬衫
    • 女士
      • 连衣裙
  • ...

目前,我正在设计一个类 ProductCategory 使用树数据结构来表示整个产品类别树,如下所示:

public class ProductCategory
{
    public int Id {get;set;}
    public string Name {get;set;}
    public ProductCategory Parent {get;set;}
    public List<ProductCategory> Children {get;set;}
}

不知道复合设计模式能否适用于这种情况?

树数据结构和复合设计模式有什么区别?

谢谢

【问题讨论】:

    标签: design-patterns tree treeview


    【解决方案1】:

    在复合模式中,目的是封装正在使用的对象的基数。或者正如Wikipedia article 所说:

    复合模式描述了一组对象 与同一类型对象的单个实例相同。

    您的案例看起来并不相关,只是“复合”这个英文单词的名称可能意味着类似于树数据结构的东西。

    【讨论】:

    • 非常感谢您的回答。但是我真的不明白树数据结构和复合设计模式之间有什么区别。你能解释清楚一点吗?
    猜你喜欢
    • 2011-05-13
    • 2011-06-05
    • 1970-01-01
    • 2011-04-11
    • 1970-01-01
    • 2015-12-28
    • 1970-01-01
    • 2016-09-29
    • 2011-05-24
    相关资源
    最近更新 更多