Предположим, у меня есть ситуация, когда я разрабатываю сайт для реселлера обуви. У них разные бренды и виды обуви, и, конечно, они хотят действительно хорошую функцию поиска.
Таким образом, у обуви есть разные свойства. Они могут иметь эксклюзивные свойства, такие как размер, ширина, пол и дети / взрослые. Или они могут иметь неисключительные свойства, такие как цвет (на обуви может быть два или более цветов). Некоторые категории могут вступать в конфликт с некоторыми другими, например, «платье» и «повседневная одежда» (обувь не может быть как кроссовкой, так и кроссовкой (в этом примере игнорируются «удобные» туфли), в то время как они еще не конфликтуют с другие, такие как «платье» и «ботинок» (обувь может быть платьем). Эксклюзивные свойства легко моделировать, но как насчет потенциально конфликтующих свойств? Будет ли это проблемой для теории множеств?
Как вообще можно назвать этот вид прикладной информатики? Моделирование данных или что-то более конкретное? Я хочу углубиться в более абстрактные философские принципы, такие как исключительные и неисключительные свойства, и посмотреть, как эти принципы реализованы в коде, структурах данных и схемах базы данных.
Хорошим примером того, о чем я говорю, является модифицированный алгоритм обхода дерева предзаказа . Это отличный способ создать вложенную иерархическую систему категоризации. Таким образом, у вас есть реальная организационная проблема: категории, а затем у вас есть структура данных, которая моделирует эту проблему.
Где я могу узнать больше об этом типе вещей?