Иерархии и сети

В процессе моделирования вы обнаружите, что часто объекты организуются в иерархии или сети. Иерархия имеет один корневой объект. У каждого последующего узла иерархии только один прямой предшественник. Деревья каталогов обычно формируют иерархии. То же самое можно сказать о классификации в машиностроении и о элементах XMLL и HTML-документов. Иерархия – это очень упорядоченный, структурированный и довольно негибкий способ организации объектов.
Однако в сети обычно нет корневого объекта, хотя это не исключено. В сетях каждый объект может быть непосредственно соединен с многими объектами. В сети нет строгого представления «над» или «под». Это намного более гибкая структура, в которой возможно равенство между узлами. World Wide Web образует сложную сеть узлов.
Давайте рассмотрим товары в качестве примера, иллюстрирующего иерархии и сети. Существует две фундаментальные абстракции:
• ProductType (тип товара) – тип продукта, например «Струйный принтер»;
• ProductItem (товарная позиция) – конкретный струйный принтер с серийным номером 0001123430.
ProductType и ProductItem очень подробно рассматриваются в книге [Arlow 1]. Типы товаров обычно образуют сети. Таким образом, ProductType, например комплект вычислительного оборудования, может состоять из ЦП, монитора, клавиатуры, мыши, видеокарты и других типов товаров (ProductType). Каждый из этих ProductType описывает тип товара, а не конкретную товарную позицию, и эти типы товаров могут входить в другие составные ProductType, например в разные комплекты вычислительного оборудования.
Если же рассматриваются товарные позиции (ProductItem), которые являются конкретными экземплярами ProductType, любая позиция ProductItem (например, конкретный ЦП) может быть продана и поставлена как часть одного комплекта товаров только один раз. Следовательно, товарные позиции образуют иерархии.

Запись опубликована в рубрике Компьютеры и интернет с метками . Добавьте в закладки постоянную ссылку.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*

code