Вопрос знатокам ООП. - страница 51

 
Aliaksandr Hryshyn:
"Новая концепция ООП" - не понятны цели. Для чего вы это делаете?

Хочу понять несколько вещей, которыми интересовался всю жизнь. 

1. Можно ли создать саморазвивающуюся систему?

2. Можно ли создать процесс, в котором множество систем взаимодействуют, меняются и развиваются?

3. Может ли что либо возникнуть без изначально заложенной концепции?

4. Что будет, если скрестить мое представление объектов в ядре и стандартный ООП, с его наследованием и инкапсуляцией объектов? Получится ли упростить создание сложных систем?

 
Dmitry Fedoseev:

...и оперировать экземплярами в ведре:)

Зачем что-то записывать в ведре, особенно относящееся к конкретному объекту? Сам объект хранит информацию о себе, а в ведре только указатели на объекты.

Вы никогда не задумывались, почему в стандартном ООП, такие большие "капсулы" (классы) Объектов? Ведь проще, превратить объект в узел указателей, а содержание объектов хранить вне классов. Тогда, Объект легко моделировать. Просто менять указатели на материал, который он должен объединить, и Объект будет "превращаться" во что то другое. Содержание Объекта будет зависеть от указателей, а не от "ингридиентов" его Класса (капсулы). Так вот, именно такие связки, я храню в Ядре в виде Объектов. А сам материал - вне Ядра. Таким образом, связи между Объектами, как и их содержание могут легко и быстро меняться, а системы состоящие из таких "узловых" Объектов - легко модифицируются. 
[Удален]  
Ну круто, а название у подхода есть? Может ЯООП - ядерное объектно ориентированное программирование. Звучит солидно, ассоциируется с оружием, АЭС. Лозунг какой-нибудь можно придумать - "я взял лучшее и засунул в ядро!". Отлично, Пётр, так держать, я приятно удивлён.
 
Реter Konow:
Вы никогда не задумывались, почему в стандартном ООП, такие большие "капсулы" (классы) Объектов? Ведь проще, превратить объект в узел указателей, а содержание объектов хранить вне классов. Тогда, Объект легко моделировать. Просто менять указатели на материал, который он должен объединить, и Объект будет "превращаться" во что то другое. Содержание Объекта будет зависеть от указателей, а не от "ингридиентов" его Класса (капсулы). Так вот, именно такие связки, я храню в Ядре в виде Объектов. А сам материал - вне Ядра. Таким образом, связи между Объектами, как и их содержание могут легко и быстро меняться, а системы состоящие из таких "узловых" Объектов - легко модифицируются. 

.

 
Все жду, когда Артем свое мнение выскажет... Он спец по пониманию Объекта.
 
Vict:
Ну круто, а название у подхода есть? Может ЯООП - ядерное объектно ориентированное программирование. Звучит солидно, ассоциируется с оружием, АЭС. Лозунг какой-нибудь можно придумать - "я взял лучшее и засунул в ядро!". Отлично, Пётр, так держать, я приятно удивлён.
Взгляните на мозг изнутри. Он заполнен центрами связей (нейронами), а не отдельными закрытыми комплексами. В мозгу инкапсулируется связь, а не все содержание каждого объекта.
[Удален]  
Реter Konow:
Взгляните на мозг изнутри. Он заполнен центрами связей (нейронами), а не отдельными закрытыми комплексами. В мозгу инкапсулируется связь, а не все содержание каждого объекта.

Такие связи называются "композиция/агрегация объектов", но вы постоянно циклитесь на своё ядро. Добавляйте любые связи как угодно, ничего нового в этом нет.


ЗЫ: видео смотрел по диагонали, может и не очень.
 
Vict:

Такие связи называются "композиция/агрегация объектов", но вы постоянно циклитесь на своё ядро. Добавляйте любые связи как угодно, ничего нового в этом нет.


ЗЫ: видео смотрел по диагонали, может и не очень.

https://habr.com/ru/post/354046/

Это гораздо понятнее. 

//----------------------------------------------- 

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

Наследование, композиция, агрегация
Наследование, композиция, агрегация
  • habr.com
Нередко случается, что решив разобраться с какой-то новой темой, понятием, инструментом программирования, я читаю одну за другой статьи на различных сайтах в интернете. И, если тема сложная, то эти статьи могут не на шаг не приблизить меня к понимаю. И вдруг встречается статья, которая моментально дает озарение и все паззлы складываются...
[Удален]  
Vict:

Такие связи называются "композиция/агрегация объектов", но вы постоянно циклитесь на своё ядро. Добавляйте любые связи как угодно, ничего нового в этом нет.


ЗЫ: видео смотрел по диагонали, может и не очень.

отправьте ему 5-10 рублей, чтобы он постригся  ;)

 

Почему ядро предусматривает легкое изменение композиций (содержания объекта)? - потому что в ядре сущности - это ячейки памяти с переменными. А класс - это описание объекта на уровне редактора. На уровне кода.

Код меняется через редактор. Память меняется через интерфейс или самой программой. То есть, если класс (капсулу объекта) поместить из кода в массив (ядро), то его обработка и изменение будет в 100 раз быстрее и гибче.

Документация по MQL5: Константы, перечисления и структуры / Константы объектов / Свойства объектов
Документация по MQL5: Константы, перечисления и структуры / Константы объектов / Свойства объектов
  • www.mql5.com
Все объекты, используемые в техническом анализе, имеют привязку на графиках по координатам цены и времени – трендовая линия, каналы, инструменты Фибоначчи и т.д.  Но есть ряд вспомогательных объектов, предназначенных для улучшения интерфейса, которые имеют привязку к видимой всегда части графика (основное окно графика или подокна индикаторов...