Сложные и скучные выкладки формул я выдал в прошлой статье. Хотел бы поделится с тем, как я это применяю на своем концепте. Ссылка на него там тоже есть...

Теория разработки информационно исторических систем с реализацией концепта

Боюсь, что без нее начало этой статьи будет не совсем понятной. Хотя там все не просто.

При использовании формулы

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 – Это контракты.

…. (простите мою лень - но тут практически полный дубляж)

перепишем табличку.

Если дальше расписывать можно получить полную карту в общем-то любого приложения... Все зависит от предметной области.

При проектировании своего концепта (ссылка в прошлой статье) - я пользовался этим подходом. Уверен, что уже есть что-то похожее, но сильно не копал эту тему...

Спасибо за внимание, и за обратную связь!

Комментарии (0)