Я разрабатываю функцию управления категориями продуктов для своего проекта. По сути, товарная категория имеет следующие свойства:
Теперь я хочу отобразить все категории продуктов в виде дерева в пользовательском интерфейсе. Это выглядит как:
В настоящее время я разрабатываю класс 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;}
}
Я не знаю, может ли составной шаблон проектирования применяться в этом случае или нет?
В чем разница между древовидной структурой данных и составным шаблоном проектирования?
Спасибо
Туан


В составном шаблоне цель состоит в том, чтобы инкапсулировать мощность используемых объектов. Или, как говорит Статья в Википедии:
The composite pattern describes a group of objects that is treated the same way as a single instance of the same type of object.
Ваш случай не кажется связанным, за исключением того, что название "Composite" в английском языке может означать что-то похожее на древовидную структуру данных.
Большое спасибо за ваш ответ. Но я действительно не понимаю, в чем разница между древовидной структурой данных и составным шаблоном проектирования. Не могли бы вы пояснить яснее?