Вопросы по ООП в MQL5 - страница 58

 
Vladimir Simakov:

Поясняю.

В mql5, вложенный класс, как и в плюсах является friend по отношению к внешнему (кстати, именно этот момент я и не знал), а вот в mql4 это не реализовано и там, как-раз, и придется костыли писать. То есть, этот код корректно скомпилируется в mql5, но даст ошибку компиляции в mql4.

Хотя,тут конечно мне сразу напишут, что это не С++, но, все же, проведу аналогию.

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

5-й больше и чаще правят, чтобы устранить оставшиеся нестыковки. На 4-ый внимания меньше. Наверное поэтому. Да и никому раньше во времена 4-ки не нужны были вложенные классы видимо )))

 
Igor Makanu:

а в чем поучительность Вашей истории? все так на работу и устраиваются -  нужно быть в нужном времени и в нужном месте, делов то... было вакантное место кнопкодава, вот и приняли )))

или у Вас на тот момент был какой-либо зарубежный сертификат?   ;)


ЗЫ: а зачем Вы работаете? расходы большие? - у Вас средний чек по ЕА 100-300 тыс руб, по моему должно хватать хоть на месяц ))))


UPD: появилось, чувство, что стал невольным участником шоу фриков, это не правильно!  (((

Поржал от души, спасибо! )))) Всё таки юмор это очень важная вещь  ...в ООП.. )))))

 
Igor Makanu:

а в чем поучительность Вашей истории? 

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

 
Evgeniy Zhdan:

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

не помню какой то старый анекдот, но в голове крутится только окончание "что тут думать! прыгать выше нужно!"

)))


извиняюсь если задел, я не специально, но так вот обсуждение свелось к полному холивару


благодарю кто помог в обсуждении, я офф

 
Evgeniy Zhdan:

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

Вот соглашусь) Считаю также что своё отношение.. допустим к паттернам.. обычно лучше всего выражать своему психологу )))

 
Igor Makanu:

благодарю кто помог в обсуждении, я офф

Вы задачу то свою решили? )

Igor Makanu:

Дано:
1. Конечный автомат (КА)
2. Количество КА неизвестное
3. Состояния КА:  successful / failed / work 
4. КА выполняются в нескольких потоках (thread), количество потоков неизвестно

Паттерн должен позволять:
1. Выдать уникальный ID для каждого КА - счетчик не катит
2. Добавлять КА равномерно по потокам
3. Получить состояние КА
4. Перезапустить КА если состояние КА failed именно с той задачей которая была выдана ранее
5. Сохранить КА в БД и удалить из потока если состояние successful
6. Восстановить состояние КА ( ID из сохранения ) и добавить в поток
7. Иметь общий пул для обмена сообщениями КА, пул не резиновый, удаленные КА не получают сообщения, а вот вновь созданные КА должны получить именно новые сообщения, а не оставшиеся от убитых КА, синхронизации между потоками и КА нет 
8. Сохранить и восстановить состояние всего паттерна и пула сообщений

* КА не выполняют однотипные задачи
** Пул сообщений основная проблема, но он может быть или КА или БД или ?
***  возможно все это работа с БД и паттерны тут совсем не нужны

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

Аналогично как и с этим злосчастным Хранителем.  По сути требуется скопировать содержимое объекта в некий контейнер, а потом из этого контейнера обратно в объект.  Но ведь нет же, надо было придумать некого таинственного Мементо, который всем управляет.  Лишь запутывая алгоритм и создавая оверхед на ровном месте.

 
Alexey Navoykov:

Вы задачу то свою решили? )

да, сбор тезнической информации произведен, теперь идет поглощение и анализ оной

и Вам спасибо, как одному, из немногих, умеющих писать по сути выражая личное мнение


Alexey Navoykov:

Из данного абстрактного описания сложно понять, какую конкретно цель преследует этот алгоритм. 

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

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

 

и снова здравствуйте!


такой вопрос, есть enum , нужны или массив enum или список enum или контейнер enum - что то где хранить сейчас 7 enum , но аппетиты растут, возможно будет 70 enum 


куда ?

 
Igor Makanu:

такой вопрос, есть enum , нужны или массив enum или список enum или контейнер enum - что то где хранить сейчас 7 enum , но аппетиты растут, возможно будет 70 enum 

7 типов enum или 7 значений enum?
 
Alexey Navoykov:
7 типов enum или 7 значений enum?

7 типов, количество значений произвольное


единственное, что приходит на ум - только структура в качестве контейнера, но вот опять ищу технич.инфу ))


проблема, что предполагается исключительно глобальная видимость перечислений, а вот сохранять состояние обьектов нужно использовать конкретные enum