Сложные и скучные выкладки формул я выдал в прошлой статье. Хотел бы поделится с тем, как я это применяю на своем концепте. Ссылка на него там тоже есть...
Теория разработки информационно исторических систем с реализацией концепта
Боюсь, что без нее начало этой статьи будет не совсем понятной. Хотя там все не просто.
При использовании формулы
State = Delay + Fact
Обнаружил что, если посмотреть на нее как на
Delay – это что-то изменяемое, следовательно это - Dynamic
а
Fact – что-то НЕ изменяемое - Static
и
State – это рассматриваемая Cистема.
то получается формула типа
Система = Dynamic + Static
И посмотреть с помощью этих представлений на любую информационную систему, то можем получить все элементы этой системы.
Поехали:
Дальше расписывать не будем — принцип я думаю понятен.
Теперь давайте в этом дереве дадим определение каждому элементу с учетом иерархии.
Обход дерева Сверху вниз и слева — направо.
Система.Static – Это какая-то группировка статических областей данных, структур, зона интереса, она очень статична по своей природе — следовательно защищена от записи извне. Назовем ее «Группа Справочников»
Система.Static.Static – Статичность с уровнем вложенности усиливается. Какая-то жесткая статичная область с защитой данных — Назовем «Статический класс — или Константы»
Система.Static.Static.Static — Что-то сильно статичное, но иногда изменяемое со временем. Это не совсем очевидно — но, примем это за основу. Значение (числа, строки, ссылки) или функция возвращающая всегда один и тот же результат на текущий момент.
Система.Static.Static.Dynamic — Очень Статичное, жестко типизированное, но с кнопкой выбора. Хьюстон — я вижу «Перечисление, Диапазоны (вместе с датами) », Функцию возвращающую текущую дату. Статичная функция с динамичным результатом во времени, но на коротком временном интервале — всегда статична.
Система.Static.Static.Dynamic.Static – Уточнение Выбора. Static в конце говорит о том — что список выбора ограничен.
Система.Static.Static.Dynamic.Dynamic – Уточнение Выбора. А тут Dynamic в конце говорит о том — что список выбора Не ограничен. - Требуется загрузка данного значения из внешних источников.
Система.Static.Static.Static.Static – Статический ад на земле. Число Пи, постоянная Планка. Нет никакой возможности это значение переопределить со временем.
Система.Static.Static.Static.Dynamic – Статический ад, но уточняемый. Как в случае числа Пи — значение константы такого типа были 3, 3.14, 3.1415....... согласно историческим сводкам.
Система.Static.Dynamic — Статичная, защищенная, но позволяющая изменятся структура — я приветствую «Справочники»
Система.Static.Dynamic.Static – Статичный реквизит справочника — Число, строка, дата
Система.Static.Dynamic.Static.Static – Супер Статичный реквизит справочника — Код (ID), предопределенные системой обязательные реквизиты справочника.
Система.Static.Dynamic.Static.Dynamic – Статичный реквизит справочника — Добавляемые пользователем статичные реквизиты справочника. Конструктор
Система.Static.Dynamic.Dynamic – Динамический реквизит справочника — Ссылка, функция
Система.Static.Dynamic.Dynamic.Static – Динамический реквизит со статичным значением справочника, хм... — Словари, массивы — составное поле со статически заданной структурой
Система.Static.Dynamic.Dynamic.Dynamic – Динамический реквизит со динамическим значением справочника, хм... — составное поле — с динамическо-заданной структурой (как пример - JSON)
С левой частью вроде разобрались.
Система.Dynamic- Это группировка динамических областей данных. Нечеткая зона интереса, постоянно дополняемая знаниями — незащищенная область. Назовем «Группа контрактов»
Система.Dynamic.Static – Ничего супер умного — Константы Контрактов. Их зона динамическая, следовательно, это могут быть и пользовательские константы.
Система.Dynamic.Static.Static – Все также как и в левой части.
И глубже вообщем-то тоже.
Отмечу что
Система.Dynamic.Dynamic – Это контракты.
…. (простите мою лень - но тут практически полный дубляж)
перепишем табличку.
Если дальше расписывать можно получить полную карту в общем-то любого приложения... Все зависит от предметной области.
При проектировании своего концепта (ссылка в прошлой статье) - я пользовался этим подходом. Уверен, что уже есть что-то похожее, но сильно не копал эту тему...
Спасибо за внимание, и за обратную связь!