Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
1. Получается структура данных Дерево - это все от лукавого...
2. Бедный С++ в нем же class == private struct, что же делать, наверное стоит отказаться от структур и классов.
3. И это правильно: нет тебе ни паттернов, ни сортировки через указатели, ни экономии по памяти, особенно для больших объектов, ...
4. Нужно не забыть еще запретить использование интерфейсов и шаблонных функций, а то вообще не понятно с каким объектом происходит работа - ужас то какой...
1. Не, ну почему же. Если вы о об узлах дерева (или связанного списка), меняющих своё состояние, то просто всё дело в организации доступа к этому состоянию. С точки зрения функциональной чистоты кода, у пользователя не должно быть доступа к состоянию узла. Всю итерацию по узлам нужно проводить через обращение к самому дереву: tree.NextNode(myNode) или tree.Parent(myNode), а не myNode.NextNode() или myNode.Parent().
Т.е. изменяемое состояние не должно быть доступно публично.
2. Ну смотрите, шарповскую структуру я взял потому, что на неё гарантированно нельзя взять ссылку/указатель. Т.е. всё под контролем компилятора. Если же такого контроля нет, то придётся обеспечить личный контроль. Например, через соответствующее именование классов. Допустим так:
class MyClass_mut; // mutable
class MyClass_immut; // immutable
3, 4. Ошибаетесь. Всё реализуемо ) Просто не надо думать, что все данные объекта обязательно копируются через стек. В общем случае, объект содержит в себе внутренний указатель на данные. Подобно умным указателям. Только в случае изменяемых объектов, этот указатель должен быть ещё более умным )
Дмитрий, уверяю, я бы и над вами с радостью посмеялся, ну люблю я это дело) но в данном случае вы преувеличили, даже особо ну улыбнуло.
Вы просто действительно перепутали - СНИМОК не равно КОПИРОВАНИЕ ОБЪЕКТА, я вам подсказал.
Если неясно отличие специально для вас поясню на примере - объект 1000 байт, для снимка нужно 200, зачем копировать 800, тем более если снимков нужно хранить много-много.
p/s/ Да и вообще. Неужели нет у людей понимания что паттерны - всего лишь элементарный пример решения элементарной ТИПОВОЙ задачи. А на деле задачи не элементарные, а посложнее. И для решения реальных задач паттерны и нужны, только зачастую не в чистом книжном виде, а в адаптированном под конкретную задачу, возможно скомбинированные между собой, возможно с добавлением какой-либо импровизации, выраженной иногда в упрощении, если задача позволяет, или наоборот "утяжелении" реализации.
Опять же для чего нужна инкапсуляция и интерфейсы - это наверное невозможно понять если у тебя айкью ниже Вассермана, ну или если ты не участвовал в реальных проектах, когда разные части проекта меняются разными людьми одновременно, и несоблюдение элементарных принципов ООПроектирования влечёт громадные затраты по отлову багов. Действительно зачем всё это для штамповки советников для маркета))
Вы путаете алгоритмы решения задач программирования с так называемыми, и нынче модными, "паттернами проектирования", касающимися исключительно ООП. И еще много чего другого путаете, и читаете невнимательно. Чуть раньше писал - использовать структуру. Но ведь если бы вы прочитали тот пост, а про функцию копирования всего класса я не написал, то вы бы докалупались до того, что ведь мы взрослые люди и нафига делать лишнюю работу с лишними структурами, если надо все делать по-взрослому - просто обеспечить возможность копирования всего класса.
...
Опять же для чего нужна инкапсуляция и интерфейсы - это наверное невозможно понять если у тебя айкью ниже Вассермана, ну или если ты не участвовал в реальных проектах, когда разные части проекта меняются разными людьми одновременно, и несоблюдение элементарных принципов ООПроектирования влечёт громадные затраты по отлову багов. Действительно зачем всё это для штамповки советников для маркета))
.
...
4. Нужно не забыть еще запретить использование интерфейсов и шаблонных функций, а то вообще не понятно с каким объектом происходит работа - ужас то какой...
Как-нибудь, где-нибудь почитайте, что такой интерфейсы и зачем они нужны.
-
Да и эта... Вы что, серьезно сопоставляете возможность сохранения всех или некоторых полей объекта с функцией undo/redo? Давай фотошоп обсудим, ведь вы же знаете, как там это сделано.
-
И кто из вас тут весь такой под шоколадом мне на мыло пишет?
-
И вообще, в чем проблема? Я вам пошатнул устои вашей веры в "Святые Паттерны"?
перебирал тут книжный шкаф.
Отличная находка: "Введение в теории искусственного интеллекта и экспертных систем с иллюстрациями на бейсике" 1987 г. Одна из глав "концепция объектно-ориентированного программирования"
Поверьте - НИЧЕГО не поменялось...
перебирал тут книжный шкаф.
Отличная находка: "Введение в теории искусственного интеллекта и экспертных систем с иллюстрациями на бейсике" 1987 г. Одна из глав "концепция объектно-ориентированного программирования"
Поверьте - НИЧЕГО не поменялось...
Многое изменилось, тогда не было церкви почитателей Святых Паттернов Проектирования. Да и клуб жертв с++ к тому времени еще не сформировался.
Многое изменилось, тогда не было церкви почитателей Святых Паттернов Проектирования.
этого и сейчас нет, можете поиском по рунету пройдись, если количество вопросов на тему паттернов в рунете очень мало, значит этого нет как массовости, "книжные" вопросы студентов не в счет
почитать то в них нечего, но это удобно когда захочешь масштабировать проект, в общем это изначально правильная заложенная структура программы
Многое изменилось, тогда не было церкви почитателей Святых Паттернов Проектирования.
"Паттерн проектирования" - всего-лишь договорённость одни и те-же часто встречающиеся вещи звать одними и теми-же именами. И кстати термин пришёл из архитектуры (там где про скульптуры/мосты/портики/порталы).
подчас схожие вещи решаются сходными приёмами, не факт что всегда.. Но про схожесть вещей и приёмов полезно договориться, чтобы друг-друга понимать
но есть конечно люди "дай дураку стеклянный фалос - и вещь разобъёт и себя порежет"
этого и сейчас нет, можете поиском по рунету пройдись, если количество вопросов на тему паттернов в рунете очень мало, значит этого нет как массовости, "книжные" вопросы студентов не в счет
почитать то в них нечего, но это удобно когда захочешь масштабировать проект, в общем это изначально заложенная правильная структура программы
Ничего в них не заложено. Сколько паттернов вы изучили?
Ничего в них не заложено. Сколько паттернов вы изучили?
что подразумевается под словом изучили?
если прочитал описание на нескольких форумах, то с десяток точно
если применил в MQL , то один - стратегия , работает, масштабируется, рефакторинг без проблем - хош под тестер все выбросил лишнее, чтобы быстрее оптился, а хош сразу на демку - в общем удобно и практично