Каковы различия между древовидной структурой данных и составным шаблоном проектирования? - PullRequest
0 голосов
/ 05 июля 2018

Я разрабатываю функцию управления категориями продуктов для своего проекта. В основном, категория продукта имеет следующие свойства:

  • ID
  • Имя
  • Родительская категория
  • Дочерние категории

Теперь я хочу отобразить все категории продуктов в виде дерева в пользовательском интерфейсе. Похоже:

  • электрические приборы
    • Компьютер
      • Desktop
      • Ноутбук
      • Сервер
    • Смартфон ...
  • Одежда
    • Мужчины
      • Жан
      • рубашка
    • Женщины
      • платье
  • ...

В настоящее время я разрабатываю класс 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;}
}

Я не знаю, может ли шаблон комбинированного дизайна применяться к этому случаю или нет?

В чем различия между древовидной структурой данных и составным шаблоном проектирования?

Спасибо

Туан

1 Ответ

0 голосов
/ 10 июля 2018

В составном паттерне цель состоит в том, чтобы инкапсулировать количество используемых объектов. Или, как говорится в статье Википедии :

Составной шаблон описывает группу объектов, которая обрабатывается так же, как один экземпляр объекта того же типа.

Ваш случай не выглядит связанным, за исключением того, что название "Composite" в качестве английского слова может означать нечто похожее на древовидную структуру данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...