Работа и разработка идут хорошо когда есть:
Одной из основ я хочу поделиться с Вами в данной публикации.
Элемент(объект) – это единица: материальная, абстрактная или условная.
Элементы делятся на: контейнер(К), контейнерный объект(КО) и объект(О).
Каждый из элементов можно рассмотреть отдельно:
Каждый элемент имеет свой тип.
Тип элемента – это определенный набор свойств элемента.
Так же можно сказать, что у элемента есть список(набор) свойств. У этого списка есть название и, говоря «тип элемента», мы подразумеваем(имеем ввиду) название этого списка.
Свойства элемента — описывают элемент. Условно за свойство можно принять что угодно. Свойства элемента бывают обыкновенными(базовыми) и составными, основанными на взаимодействии базовых свойств или иной информации в т.ч. взаимодействии элементов.
Для примера приведем список свойств элемента:
Каждый из типов элемента приведенных выше имеет свой набор свойств. Так, например элемент тип: квадрат, обладает свойствами 1, 2, 9 и 10, а тип: окружность свойствами 3, 4 и 11. Свойства 10 и 11 это составные свойства, поэтому они идут отдельно друг от друга.
Слух и зрение, хоть и не имеют отношения к геометрическим фигурам, но, если мы условно приняли их за свойства элемента, то они будут находиться в этом списке, и будут относиться к типу: животное.
Вслед за свойствами тянуться величины: см, мм, км, кг, секунда, минута, часы, Hz, Ом и т.д.
Если мы рассматриваем элемент как Объект, то мы переходим к рассмотрению свойств этого элемента. Если мы рассматриваем элемент как К или КО, тогда мы рассматриваем список элементов, находящихся внутри К или КО, если они там есть. Если внутри К или КО нет элементов, уместным будет рассматривать их сразу как Объект.
Элементы могут взаимодействовать друг с другом, даже не смотря на то, что каждый из них может находиться в разной ветви древа(DOM). Взаимодействие между элементами и типами элементов происходит в рамках определенного шаблона.
Взаимодействия иначе называются пересечения (cross).
Возьмем два элемента E1 и E2. При пересечении, E1 и E2 могут оказывать друг на друга некое влияние:
Если рассмотреть пример с адресом приведенный выше, то, если принять Иванова Ивана Иваныча за E1, а его квартиру за E2, то нам подойдет первый вариант взаимодействия, т.к. Иван Иваныч может продать свою квартиру. Квартира же не моет оказать влияние на Иваныча.
А если за E1 принять Работника, а за E2 работу, тогда вариант 3, т.к. Работник работает и он получает за это деньги, и работник может быть уволен с работы или сам уволиться.
Помимо влияния выделяется взаимодействие: K, KO и O:
Начнем с того, что каждый элемент имеет свой идентификатор (ID), знает своего родителя (parent), имеет свой тип (type), и порядок отображения внутри родителя (sort).
Если хранить эту информацию в Базе данных, то таблица будет выглядеть следующим образом:
Собственно у типов элементов должна быть своя таблица-справочник:
За типами потянется список свойств:
И списки свойств типов(какие свойства у какого типа)
Таблица-справочник Величины (value(id,title,name)), в которых измеряются значения свойств.
Но это что качается основы. За каждым из свойств может идти своя отдельная таблица, в которой будут храниться определенные данные. Например, таблица Width(таблица размера одной из сторон, которая определяет ширину).
Записи закрепляются не за свойством, а за ID элемента, тип которого имеет это свойство.
Далее идут пересечения(cross)
Pattern — Шаблоны пересечения, таблица справочник.
Type – Типы пересечения(k-ko или ko-o), так же обычный справочник аналогичный pattern.
Effect – учитываем влияние одного элемента на другой.
Колонки Type и Effect как показала практика можно опустить. Может эти колонки и пригодятся когда-нибудь, где-нибудь…
Основа БД готова.
Если взять категории и публикации, то есть элемент типа «категория», и есть элемент типа «публикация».Элементы типа «публикация» находятся внутри элемента типа «Категория». Тип «публикация» тянет за собой свойства «контент», «изображения», «видео», «цены»(если это товар) и т.д.
Реструктурированный Список-справочник ОКУН(Общероссийская Классификация Услуг Населению)
На данном изображении ОКУН рассматривается как КО, т.е. список Элементов.
На этом изображении один из Элементов(ОКУН) рассматривается как О, т.е. его свойства.
Игра, или что-нибудь еще. Визуальное представление какой-нибудь идеи.
У обеих работ одна основа и БД. Только разные типы и свойства у элементов, и визуально
представлены они по разному.
- От чего отталкиваться(основа).
- К чему стремиться(идея, проект и т.д.)
Одной из основ я хочу поделиться с Вами в данной публикации.
Элементы: теоретическая часть
Элемент(объект) – это единица: материальная, абстрактная или условная.
Контейнеры и объекты
Элементы делятся на: контейнер(К), контейнерный объект(КО) и объект(О).
- Контейнер (К) – элемент, который может содержать в себе другие элементы – контейнерные объекты(КО) или объекты(О). Сам контейнер не может находиться внутри чего-либо.
- Контейнерный Объект (КО) – элемент, который может содержать в себе другие элементы – контейнерные объекты(КО) и объекты(О), и в тоже время сам может находиться внутри контейнерного объекта(КО) или контейнера(К).
- Объект (О) – элемент, который не может содержать внутри себя другие элементы, но сам может находиться внутри контейнерного объекта(КО) или контейнера(К).
Относительность
Каждый из элементов можно рассмотреть отдельно:
- Как Контейнер, отсекая информацию обо всем, внутри чего он может находиться, делая его изначальным, относительно которого мы будем рассматривать все остальное. Например: книга, когда мы принимаем ее за Контейнер, то уже не важно, что она находится в комнате или в шкафу на полке, важна только она сама и то, что внутри нее(листы, страницы, текст, главы, абзацы, предложения слова, слоги, буквы, символы).
- Как Контейнерный объект. Тогда во внимание принимается, и то, внутри чего находится элемент, и то, что находится внутри него самого.
- Объект. Когда мы рассматриваем элемент как О, тогда мы непосредственно переходим к его типу и свойствам, не забывая при этом об элементе внутри которого он может находиться. Если обращаться к рассмотрению книги как объекта, то мы начинаем рассматривать ее параметры: длина, толщина, ширина, автор, название и т.д.
Типы и Свойства
Каждый элемент имеет свой тип.
Тип элемента – это определенный набор свойств элемента.
Так же можно сказать, что у элемента есть список(набор) свойств. У этого списка есть название и, говоря «тип элемента», мы подразумеваем(имеем ввиду) название этого списка.
Свойства элемента — описывают элемент. Условно за свойство можно принять что угодно. Свойства элемента бывают обыкновенными(базовыми) и составными, основанными на взаимодействии базовых свойств или иной информации в т.ч. взаимодействии элементов.
Для примера приведем список свойств элемента:
- Ширина
- Длина
- Радиус
- Длина окружности
- Высота
- Толщина
- Слух
- Зрение
- Периметр
- Площадь
- Площадь окружности
- …
Каждый из типов элемента приведенных выше имеет свой набор свойств. Так, например элемент тип: квадрат, обладает свойствами 1, 2, 9 и 10, а тип: окружность свойствами 3, 4 и 11. Свойства 10 и 11 это составные свойства, поэтому они идут отдельно друг от друга.
Слух и зрение, хоть и не имеют отношения к геометрическим фигурам, но, если мы условно приняли их за свойства элемента, то они будут находиться в этом списке, и будут относиться к типу: животное.
Вслед за свойствами тянуться величины: см, мм, км, кг, секунда, минута, часы, Hz, Ом и т.д.
Если мы рассматриваем элемент как Объект, то мы переходим к рассмотрению свойств этого элемента. Если мы рассматриваем элемент как К или КО, тогда мы рассматриваем список элементов, находящихся внутри К или КО, если они там есть. Если внутри К или КО нет элементов, уместным будет рассматривать их сразу как Объект.
Взаимодействия
Элементы могут взаимодействовать друг с другом, даже не смотря на то, что каждый из них может находиться в разной ветви древа(DOM). Взаимодействие между элементами и типами элементов происходит в рамках определенного шаблона.
Взаимодействия иначе называются пересечения (cross).
Возьмем два элемента E1 и E2. При пересечении, E1 и E2 могут оказывать друг на друга некое влияние:
- E1 оказывает влияние на E2.
- E2 оказывает влияние на E1.
- E1 и E2 оказывают друг на друга равное влияние или никакого.
Если рассмотреть пример с адресом приведенный выше, то, если принять Иванова Ивана Иваныча за E1, а его квартиру за E2, то нам подойдет первый вариант взаимодействия, т.к. Иван Иваныч может продать свою квартиру. Квартира же не моет оказать влияние на Иваныча.
А если за E1 принять Работника, а за E2 работу, тогда вариант 3, т.к. Работник работает и он получает за это деньги, и работник может быть уволен с работы или сам уволиться.
Помимо влияния выделяется взаимодействие: K, KO и O:
- K и K.
- K и KO.
- K и O.
- KO и KO.
- KO и O.
- O и O.
Какое у всего этого практическое применение?
Начнем с того, что каждый элемент имеет свой идентификатор (ID), знает своего родителя (parent), имеет свой тип (type), и порядок отображения внутри родителя (sort).
Если хранить эту информацию в Базе данных, то таблица будет выглядеть следующим образом:
id(int) | parent(int) | type(int) | sort(int) |
1 | NULL | 1 | 0 |
2 | 1 | 2 | 0 |
3 | 2 | 3 | 0 |
Собственно у типов элементов должна быть своя таблица-справочник:
id(int) | title(vchar) | name(vchar) |
1 | Треугольник | triangle |
2 | Круг | Circle |
3 | Квадрат | square |
За типами потянется список свойств:
id(int) | title(vchar) | name(vchar) |
1 | Ширина | width |
2 | Длина | length |
3 | Высота | height |
4 | Радиус | radius |
И списки свойств типов(какие свойства у какого типа)
type(int) | property(int) |
3 | 1 |
3 | 2 |
2 | 4 |
Таблица-справочник Величины (value(id,title,name)), в которых измеряются значения свойств.
id(int) | title(vchar) | name(vchar) |
1 | px | px |
2 | см | sm |
3 | минута | min |
4 | секунда | sec |
Но это что качается основы. За каждым из свойств может идти своя отдельная таблица, в которой будут храниться определенные данные. Например, таблица Width(таблица размера одной из сторон, которая определяет ширину).
Записи закрепляются не за свойством, а за ID элемента, тип которого имеет это свойство.
elementID(int) | width(int) | valueID(int) |
3 | 50 | 1 |
Далее идут пересечения(cross)
elementID1(int) | elementID2(int) | pattern(int) | type(int) | effect(int) |
1 | 2 | 1 | 1 | 1 |
Pattern — Шаблоны пересечения, таблица справочник.
id(int) | title(vchar) | name(vchar) |
1 | Адрес | address |
Type – Типы пересечения(k-ko или ko-o), так же обычный справочник аналогичный pattern.
Effect – учитываем влияние одного элемента на другой.
Колонки Type и Effect как показала практика можно опустить. Может эти колонки и пригодятся когда-нибудь, где-нибудь…
Основа БД готова.
Если взять категории и публикации, то есть элемент типа «категория», и есть элемент типа «публикация».Элементы типа «публикация» находятся внутри элемента типа «Категория». Тип «публикация» тянет за собой свойства «контент», «изображения», «видео», «цены»(если это товар) и т.д.
К чему примерно можно устремиться имея под рукой данную основу?
Реструктурированный Список-справочник ОКУН(Общероссийская Классификация Услуг Населению)
На данном изображении ОКУН рассматривается как КО, т.е. список Элементов.
На этом изображении один из Элементов(ОКУН) рассматривается как О, т.е. его свойства.
Дополнительные изображения к примеру
Игра, или что-нибудь еще. Визуальное представление какой-нибудь идеи.
У обеих работ одна основа и БД. Только разные типы и свойства у элементов, и визуально
представлены они по разному.
vasvl123
Возможно, Вам будет интересно взглянуть на мою реализацию похожей идеи: OneScriptDB
pavellyzhin Автор
Да, идея очень похожая, и очень интересная.
vasvl123
Спасибо Вам за статью! Это ответ на актуальные вопросы и руководство к дальнейшему развитию моего проекта! Извините за нескромность)