|
Заблокирован
|
|
ООП - парадигмы, паттерны, подходы - кратко и доходчиво03.06.2020, 16:34. Показов 17692. Ответов 153
Метки нет (Все метки)
Я не проф программист и никогда им не буду (старый уже). Потихоньку что-то читал и делал на c# WPF. Получалось, работало, но это были относительно простые штуковины и собственно ОПП там особо не использовалось. Но ту взялся сделать (для себя) более сложную штуковину и увидел, что не сделал ещё и малой части, а уже приходится неоднократно переписывать почти всё заново. Чё-то не очень получается делать ладные "кирпичики", из которых будут строиться блоки программы, а из блоков постепенно усложняться большое здание программы. Постоянно что-то "подпиливаю" в кирпичиках и даже их заменяю. Если так и дальше пойдет, то я эту штуку никогда не сделаю. Оказалось, что это очень не просто правильно сделать модель предметной области, правильно определиться со способами реализациями идей, правильно разбить программу на какие-то правильно взаимодействующие части. К тому же, c# имеет богатый функционал средств. Одно и то же можно сделать по разному. Постоянно встает проблема выбора - и так можно и эдак... Код поначалу всё терпит)
В итоге оказалось, что "что-то не так" - очевидно не хватает каких-то системных знаний. Сама задача достаточно стандартная - анализ исторических данных биржевых курсов акций, выработка и реализация торговых стратегий и т.д. Это интересно, но чувствую, что что-то идёт не так) Забавно, что в рамках процедурного программирования достаточно быстро "слепил" один небольшой кусочек программы и частично оттестировал микроидею. Усложнять далее в рамках процедурного подхода было уже не рационально. Поэтому стал переписывать в рамках подхода ООП. Это заняло гораздо больше времени и никак не закончу). Постоянно что-то переделываю. Честно говоря, не ожидал, что возникнут такие принципиальные трудности. Одного здравого смысла и соображалки явно не достаточно. И шо же делать?) Изучить все парадигмы, подходы, паттерны программирования, чтобы потом легко выбирать нужные? Это конечно правильный, но очень долгий путь. Что подскажут профессионалы? Может есть какой-то не оч объемный (страниц 100 - 200) "тот самый" фолиант, или статья, или блог, или ещё что, который мне тут может помочь? Как-то подтолкнёт в нужном направлении. А далее уже методом проб и ошибок - путём набора опыта.
0
|
|
| 03.06.2020, 16:34 | |
|
Ответы с готовыми решениями:
153
Парадигмы: императивная vs ООП
Подходы к разработке ПО и их связь с ООП |
|
Модератор
3140 / 2288 / 469
Регистрация: 26.03.2015
Сообщений: 8,898
|
|||
| 11.06.2020, 17:10 | |||
|
0
|
|||
|
14367 / 9468 / 1360
Регистрация: 21.01.2016
Сообщений: 35,725
|
||
| 15.06.2020, 09:30 | ||
|
0
|
||
|
Модератор
3140 / 2288 / 469
Регистрация: 26.03.2015
Сообщений: 8,898
|
||
| 15.06.2020, 10:34 | ||
|
0
|
||
|
14367 / 9468 / 1360
Регистрация: 21.01.2016
Сообщений: 35,725
|
|
| 15.06.2020, 10:36 | |
|
Shamil1, речь не о "нельзя", а о том, что собственные методы класса могут работать с приватными полями, а статические - нет. Придётся делать поля публичными. А это нарушает инкапсуляцию.
0
|
|
|
Модератор
3140 / 2288 / 469
Регистрация: 26.03.2015
Сообщений: 8,898
|
||
| 15.06.2020, 10:42 | ||
|
ООП - парадигмы, паттерны, подходы - кратко и доходчиво
0
|
||
|
14367 / 9468 / 1360
Регистрация: 21.01.2016
Сообщений: 35,725
|
|
| 15.06.2020, 10:45 | |
|
Shamil1,
Вы правда считаете, что набор статических методов, которым ссылку на объект нужно передавать явно лучше, чем методы экземпляра, которые через this могут нормально обращаться к полям?
0
|
|
|
Модератор
3140 / 2288 / 469
Регистрация: 26.03.2015
Сообщений: 8,898
|
|
| 15.06.2020, 10:57 | |
|
0
|
|
|
14367 / 9468 / 1360
Регистрация: 21.01.2016
Сообщений: 35,725
|
|
| 15.06.2020, 11:08 | |
|
Shamil1, а я вижу: лишнее телодвижение, с явным обращением к имени класса, с передачей в метод ссылки. Не возможность применения наследования для переопределения поведения. Ну и в коде вам нужно знать не только ссылку на объект, у которого можно было просто дёрнуть метод, но ещё и класс, где этот метод можно найти. Усложнения на пустом месте, без какого-либо профита.
Добавлено через 58 секунд Для меня это выглядит как переход к процедурному подходу.
0
|
|
|
Модератор
3140 / 2288 / 469
Регистрация: 26.03.2015
Сообщений: 8,898
|
|||
| 15.06.2020, 11:34 | |||
|
В С# cсылка на объект в метод передаётся неявно, но имя объекта всё-равно требуется. Вам больше нравится писать имя объекта перед именем функции, кому-то больше нравится писать имя объекта справа от имени функции. Я не вижу принципиальной разницы - дело вкуса (и синтаксис языка).
0
|
|||
|
14367 / 9468 / 1360
Регистрация: 21.01.2016
Сообщений: 35,725
|
||||
| 15.06.2020, 11:45 | ||||
|
0
|
||||
|
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,781
|
|||
| 15.06.2020, 12:16 | |||
|
2) определение структуры и методов можно разместить рядом, в одном файле.
0
|
|||
|
Заблокирован
|
||
| 15.06.2020, 12:24 [ТС] | ||
|
0
|
||
|
Модератор
3140 / 2288 / 469
Регистрация: 26.03.2015
Сообщений: 8,898
|
||||||||
| 15.06.2020, 12:35 | ||||||||
0
|
||||||||
|
Модератор
3140 / 2288 / 469
Регистрация: 26.03.2015
Сообщений: 8,898
|
||
| 15.06.2020, 12:42 | ||
|
0
|
||
|
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,781
|
||
| 15.06.2020, 12:45 | ||
|
Во-вторых, в природе любой объект можно «разкапсулировать» на различном уровне различными инструментами. В-третьих, чем это, по-твоему, отличается от АТД?
0
|
||
|
Модератор
3140 / 2288 / 469
Регистрация: 26.03.2015
Сообщений: 8,898
|
||
| 15.06.2020, 13:25 | ||
|
0
|
||
|
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,781
|
||||||||||||||||
| 15.06.2020, 13:49 | ||||||||||||||||
|
Вопрос к знатокам ООП, как правильно спроектировать классы и методы для написания текста:
0
|
||||||||||||||||
|
Заблокирован
|
|||||
| 15.06.2020, 16:50 [ТС] | |||||
|
Добавлено через 4 минуты ![]() Добавлено через 4 минуты
0
|
|||||
|
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,781
|
|||||
| 15.06.2020, 17:38 | |||||
|
1
|
|||||
| 15.06.2020, 17:38 | |
|
Паттерны vs ООП
Основы Java освоены, понятия, парадигмы, ООП. Читать код могу, понятия есть, но все бы ничего, что дальше? Доходчиво разъясните...
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
сукцессия 29. Переход от одних деревьев на другие делать более или менее вероятностным?
anaschu 12.07.2026
Насколько смена типов микоризы — исключительное событие в двухвековой сукцессии? Оценка вероятности в пространстве параметров
В текущей версии модели успешно реализован ключевой механизм. . .
|
сукцессия 27. Думаю, как переделывать уже написанную статью с планами на сукцессию.
anaschu 12.07.2026
Анализ соответствия модели требованиям
Реализованные компоненты:
Механизм закисления почвы через протонную помпу
Конкуренция между типами микориз
pH как триггер сукцессии
C/ P соотношение. . .
|
Сукцессия 26. Мат модель создана.
anaschu 12.07.2026
Модель смены растительных сукцессий посредством управления грибами работает внутри небольшой ячейки почвы, восстанавливающейся после пожара, где ненадолго бывшее царство хвойных снова захватили. . .
|
Решил проблему с ошибкой пагинации сообщений с сервера на алгоритме обхода дерева "Эстафета хвоста".
Hrethgir 12.07.2026
Проблема была в том, что удалялась именно новая кнопка, а не старая. Ни один ИИ не обнаружил это, а сам я смог только когда с работой стало попроще и когда заставил работать будущее автономное. . .
|
|
сукцессия 25. Хронология ошибок
anaschu 12.07.2026
# От 50-тонного гриба до устойчивого леса: хроника ошибок при построении модели вековой сукцессии микоризы
## О чём эта статья
В процессе построения ОДУ-модели (система дифференциальных. . .
|
сукцессия 24. Промежуточное общее описание модели
anaschu 12.07.2026
Хендофф: модель АМ→ЭКМ сукцессии микоризы (ризосфера, 50 лет)
Содержание проекта
Симуляция вековой (50 лет) экологической сукцессии в почве леса
Основные участники: АМ-гриб, ЭКМ-гриб,. . .
|
сукцессия 23. Более физиологичная физиология, более экологичная экология, более диффурные диффуры.
anaschu 12.07.2026
Что реально нашли и починили за эти 5 часов
Правило Линдемана (КПД конверсии сахара в тело, kEff) — раньше 100% полученного углерода шло прямо в биомассу гриба; теперь только kEff=0. 5 (после. . .
|
сукцессия 22. От артефактов к физиологии: калибровка агентной модели грибной сукцессии для воспроизведения сезонной динамики и pH-плато
anaschu 11.07.2026
Аннотация
В данной работе представлена калибровка агентной модели динамики грибных сообществ (fungal-succession), направленная на устранение нефизичных артефактов (коллапс биомассы, мгновенное. . .
|