Представление объекта в программировании. - страница 13

 
Aliaksandr Hryshyn #:
Можно пример?

Пример будет приведен немного позже, когда концепция будет изложена полнее и более понятна читателю.

 

Часть 3.

Для формализации Событийной Модели необходимо шире раскрыть природу События. В прошлых частях было предположено, что все объекты состоят из т.н. "прото-блоков" - неких специфических сущностей имеющих параметрическую основу, что используются функциями-обработчиками для воспроизведения "жизнедеятельности" объектов-систем . Было сказано, что каждый "прото-блок" имеет параметрическое "тело", которое, словно "матрешка", включает в себя "тела" меньших прото-блоков, а само включается в тела больших. Предположили, что прото-блоки можно поставить по уровню сложности в "иерархию", где Параметр - наименьшая "частица", комплекс Параметров - параметрическое "тело" Объекта, "отпачкованные" от этого тела наборы параметров- прото-блоки следующих уровней сложности, среди которых первым идет Состояние - параметрическая формация передающая важные "точки останова" в Бытии Объекта,  потом, на основе серии связанных Состояний является Процесс... Остановим взгляд на секунду на параметрической структуре упомянутых прото-блоков, чтобы далее перейти к Событию и понять, как оно формируется. На этом этапе можно утверждать:

  • Состояние это производная конструкция от параметрического набора Объекта т.е. "слепок" из выбранных параметров. 
  • Состояние хранит важные экземпляры значений своего Объекта. 
  • Структурно, параметрические тела Состояний входят в состав Процессов как "лего-фишки". 
  • Процесс - последовательность Состояний связанных "жизнедеятельностью" Объекта в цепочку.
  • Процесс содержит Состояния как "кинолетна" кадры и разбирается на них.

Далее, переходим к генезису События и раскрытию его параметрической структуры. Мы должны выяснить как формируется Событие, увидеть параметрический "портрет" и место в иерархии прото-блоков. После этого, перейдем к "связыванию" прото-блоков в функциональную систему и отследим "рождение" Событийной Модели. Сразу нужно отметить, что параметрическая структутра События имеет множественные вариации сочетаний постоянных атрибутов. Ознакомимся с ними:

  • Фон События             - набор параметров и их значений взятых от Объекта или его окружения (других объектов в Среде), представленный как исходное Состояние, предшедствующее или сопровождающее значимое изменение рассматриваемое как Событие.
  • Целевое значение       - набор значений от выбранного набора параметров Объекта или его окружения, представленных как целевое Состояние этого Объекта или его окружения и рассматриваемых как Событие
  • Целевая разница         - искомая разница между прошлыми и текущими значениями выбранного набора параметров Объекта или его окружения, представленная как значимое в Объекте или его окружении Событие.
  • Целевое соотношение - искомое соотношение величин  выбранного набора параметров Объекта или его окружения, рассматриваемое как Событие.
  • Целевая "сигнатура"    - искомый характер изменения между прошлыми и текущими значениями выбранного набора параметров Объекта или его окружения, рассматриваемый как Событие.

Мы перечислили пять ключевых атрибутов События включаемые в его параметрическое тело в разных сочетаниях и составляющих структуру. Событие, как остальные прото-блоки, строиться от параметрических тел Объектов в их динамичной жизнедеятельности и формируется методом "захвата" ключевых параметров и их значений из текущего момента для дальнейшего расчета и записи искомых целевых - фона, значений, разницы, соотношения или сигнатуры в виде шаблона в событийном модуле (для последующего использования в системе). При формировании События в его тело добавляются производные параметры для хранения результатов расчетов разниц или сигнатур. Добавлю, что Событие можно создавать специализированным обработчиком-сборщиком с функционалом необходимым для расчета целевых и для параметрической компоновки и записи. Безусловно, Событие сложнее, чем Состояние и в отличии от последнего имеет "производную" часть т.е. не является прямым потомком параметров Объекта(ов), а дополнено параметрами для результатов вычисления разниц или характеров изменений исходных параметров, однако структурно, - это такой же прото-блок как Состояние или Процесс - т.е. набор параметров с экземплярами значений.

          Связывание прото-блоков в Систему. 

Сейчас мы имеем представление, что прото-блоки формируются специальными обработчиками-сборщиками как минимум тремя методами:

  1. Метод "отпочковывания" от параметрического тела Объекта при построении Состояния или Процесса.
  2. Метод захвата параметров и их значений из текущего момента Объекта или Среды - для фиксирования "фона", целевого значения или целевого соотношения, при построении События.
  3. Метод добавления и расчета специальных производных параметров для целевой разницы или целевой сигнатуры изменения, также, при сборки События.

и теперь, перейдем к вопросам "как построить "живую" Систему из имеющихся в концепции прото-блоков и какую роль в этом играет "Событийная Модель" ? 

Двумя ключевыми "Мета-процессами жизнедеятельности" любой Системы (Объекта) являются:

  • Независимое исполнение заложенной программы.
  • Взаимодействие с окружающей Средой.

Эти два Мета-процесса переплетаются в один, когда внешнее воздействие вмешивается в процесс независимого исполнения и в ответ, Система меняет значения своих параметров чтобы восстановить утраченное равновесие и продолжить процесс независимого исполнения. В целом, эта динамика является жизнедеятельностью Системы в ее Среде. Чтобы понять, как реализуется связь "внешнего воздействия и внутренней реакции"нам нужно добавить еще один компонент в концепцию, - Условие

  • Условие - это прото-блок устанавливающий связку Причины и Следствия между другими прото-блоками Системы. В отличии от обработчика связей параметров, о котором мы говорили в предыдущей части и который меняет значения связанных параметров по установленным внутри него правилам или формулам, Условие НЕ ИМЕЕТ сформулированных правил и формул зависимости, - Условие связывает прото-блоки внутри себя в причинно-следственную цепочку без формул и алгоритмов. Например: в "тело" Причины помещается некое Событие, а в "тело" Следствия - Состояние. Таким образом, проверяя и обнаруживая некое Событие мы включаем некое Состояние внутри Объекта. Без формул и вычислений. Просто, осуществляя прямой переход от одного прото-блока к другому.
  • Условие как и любой прото-блок имеет свой обработчик. В данном случае, лучше всего подходит оператор "if()" вместе с "then" и "else". Обратим внимание, что в теле "Причины" (которая ставиться в "if()") всегда осуществляется сравнение шаблона и экземпляра. Если мы проверяем Событие, то берем его шаблон и ставим в Условие и далее, обработчик Условия сам собирает экземпляр из параметров шаблона и сравнивает его значения с исходными и выбирает одно из двух Следствий ("then" или "else") в зависимости от результата сравнения.
Пока все. Теперь мы имеем полный набор понятий для рассмотрения Событийной Модели и перейдем к этому (если будет интересно) далее.


 
Реter Konow #:

Часть 3.

Либа (library) будет интуитивно-понятная?

 
Реter Konow #:

Безусловно, но мы очень плохо умеем им управляться и зачастую приходиться мириться с очень низкой производительностью, на фоне которой компьютеры легко уделывают нас.)

 Мы (сознание) это лишь малая часть функционала мозга, причем даже не обязательная.. А вот другие аспекты высшей нервной деятельности мозг выполняет хорошо и любой комп уделает... про стихи, картины, рассказы, науку и прочее я вообще молчу, комп не при делах.. по интеллекту он ближе к лопате чем к мозгу.. 

 
transcendreamer #:

Либа (library) будет интуитивно-понятная?

Не знаю насколько велик ваш опыт в программировании, поэтому не могу представить насколько вам понятно то, о чем пишу. Для абсолютного гуманитария концепция будет малопонятна, но для человека имеющего навыки кодинга многое вполне очевидно. Попробуйте сформулировать вопросы, а я попытаюсь на них ответить.)

Дополнено: у вас много кодов в кодо-базе, а значит опыт есть. Тогда, многое из концепции вам должно быть понятно.

 
Nikolay Ivanov #:

 Мы (сознание) это лишь малая часть функционала мозга, причем даже не обязательная.. А вот другие аспекты высшей нервной деятельности мозг выполняет хорошо и любой комп уделает... про стихи, картины, рассказы, науку и прочее я вообще молчу, комп не при делах.. по интеллекту он ближе к лопате чем к мозгу.. 

Согласен.

 
Реter Konow #:

Не знаю насколько велик ваш опыт в программировании, поэтому не могу представить насколько вам понятно то, о чем пишу. Для абсолютного гуманитария концепция будет малопонятна, но для человека имеющего навыки кодинга многое вполне очевидно. Попробуйте сформулировать вопросы, а я попытаюсь на них ответить.)

Дополнено: у вас много кодов в кодо-базе, а значит опыт есть. Тогда, многое из концепции вам должно быть понятно.

Ну вот есть стандартная библиотека в mql5, есть другие библиотеки, несущие некое облегчение для работы со сложными сущностями (иногда правда и наоборот бывает лишнее усложнение) - так вот и вопрос: планируется ли сделать некую библиотеку, которую было бы удобно использовать?

 
transcendreamer #:

Ну вот есть стандартная библиотека в mql5, есть другие библиотеки, несущие некое облегчение для работы со сложными сущностями (иногда правда и наоборот бывает лишнее усложнение) - так вот и вопрос: планируется ли сделать некую библиотеку, которую было бы удобно использовать?

Сложно сказать. Думаю, реализация столь нестандартного подхода потребует все делать низко-уровневым программированием, без использвания стандартного ООП. Но, возможно я ошибаюсь.

 
Реter Konow #:

Сложно сказать. Думаю, реализация столь нестандартного подхода потребует все делать низко-уровневым программированием, без использвания стандартного ООП. Но, возможно я ошибаюсь.

Всё делается

 
Реter Konow #:

Сложно сказать. Думаю, реализация столь нестандартного подхода потребует все делать низко-уровневым программированием, без использвания стандартного ООП. Но, возможно я ошибаюсь.

Главное, чтобы для пользователя это было упрощением, а не усложнением.

Причина обращения: