|
Заблокирован
|
|
ООП - парадигмы, паттерны, подходы - кратко и доходчиво03.06.2020, 16:34. Показов 18491. Ответов 153
Метки нет (Все метки)
Я не проф программист и никогда им не буду (старый уже). Потихоньку что-то читал и делал на c# WPF. Получалось, работало, но это были относительно простые штуковины и собственно ОПП там особо не использовалось. Но ту взялся сделать (для себя) более сложную штуковину и увидел, что не сделал ещё и малой части, а уже приходится неоднократно переписывать почти всё заново. Чё-то не очень получается делать ладные "кирпичики", из которых будут строиться блоки программы, а из блоков постепенно усложняться большое здание программы. Постоянно что-то "подпиливаю" в кирпичиках и даже их заменяю. Если так и дальше пойдет, то я эту штуку никогда не сделаю. Оказалось, что это очень не просто правильно сделать модель предметной области, правильно определиться со способами реализациями идей, правильно разбить программу на какие-то правильно взаимодействующие части. К тому же, c# имеет богатый функционал средств. Одно и то же можно сделать по разному. Постоянно встает проблема выбора - и так можно и эдак... Код поначалу всё терпит)
В итоге оказалось, что "что-то не так" - очевидно не хватает каких-то системных знаний. Сама задача достаточно стандартная - анализ исторических данных биржевых курсов акций, выработка и реализация торговых стратегий и т.д. Это интересно, но чувствую, что что-то идёт не так) Забавно, что в рамках процедурного программирования достаточно быстро "слепил" один небольшой кусочек программы и частично оттестировал микроидею. Усложнять далее в рамках процедурного подхода было уже не рационально. Поэтому стал переписывать в рамках подхода ООП. Это заняло гораздо больше времени и никак не закончу). Постоянно что-то переделываю. Честно говоря, не ожидал, что возникнут такие принципиальные трудности. Одного здравого смысла и соображалки явно не достаточно. И шо же делать?) Изучить все парадигмы, подходы, паттерны программирования, чтобы потом легко выбирать нужные? Это конечно правильный, но очень долгий путь. Что подскажут профессионалы? Может есть какой-то не оч объемный (страниц 100 - 200) "тот самый" фолиант, или статья, или блог, или ещё что, который мне тут может помочь? Как-то подтолкнёт в нужном направлении. А далее уже методом проб и ошибок - путём набора опыта.
0
|
|
| 03.06.2020, 16:34 | |
|
Ответы с готовыми решениями:
153
Парадигмы: императивная vs ООП
Подходы к разработке ПО и их связь с ООП |
|
Модератор
3142 / 2290 / 469
Регистрация: 26.03.2015
Сообщений: 8,920
|
|||
| 11.06.2020, 17:10 | |||
|
0
|
|||
|
14821 / 9605 / 1369
Регистрация: 21.01.2016
Сообщений: 36,150
|
||
| 15.06.2020, 09:30 | ||
|
0
|
||
|
Модератор
3142 / 2290 / 469
Регистрация: 26.03.2015
Сообщений: 8,920
|
||
| 15.06.2020, 10:34 | ||
|
0
|
||
|
14821 / 9605 / 1369
Регистрация: 21.01.2016
Сообщений: 36,150
|
|
| 15.06.2020, 10:36 | |
|
Shamil1, речь не о "нельзя", а о том, что собственные методы класса могут работать с приватными полями, а статические - нет. Придётся делать поля публичными. А это нарушает инкапсуляцию.
0
|
|
|
Модератор
3142 / 2290 / 469
Регистрация: 26.03.2015
Сообщений: 8,920
|
||
| 15.06.2020, 10:42 | ||
|
ООП - парадигмы, паттерны, подходы - кратко и доходчиво
0
|
||
|
14821 / 9605 / 1369
Регистрация: 21.01.2016
Сообщений: 36,150
|
|
| 15.06.2020, 10:45 | |
|
Shamil1,
Вы правда считаете, что набор статических методов, которым ссылку на объект нужно передавать явно лучше, чем методы экземпляра, которые через this могут нормально обращаться к полям?
0
|
|
|
Модератор
3142 / 2290 / 469
Регистрация: 26.03.2015
Сообщений: 8,920
|
|
| 15.06.2020, 10:57 | |
|
0
|
|
|
14821 / 9605 / 1369
Регистрация: 21.01.2016
Сообщений: 36,150
|
|
| 15.06.2020, 11:08 | |
|
Shamil1, а я вижу: лишнее телодвижение, с явным обращением к имени класса, с передачей в метод ссылки. Не возможность применения наследования для переопределения поведения. Ну и в коде вам нужно знать не только ссылку на объект, у которого можно было просто дёрнуть метод, но ещё и класс, где этот метод можно найти. Усложнения на пустом месте, без какого-либо профита.
Добавлено через 58 секунд Для меня это выглядит как переход к процедурному подходу.
0
|
|
|
Модератор
3142 / 2290 / 469
Регистрация: 26.03.2015
Сообщений: 8,920
|
|||
| 15.06.2020, 11:34 | |||
|
В С# cсылка на объект в метод передаётся неявно, но имя объекта всё-равно требуется. Вам больше нравится писать имя объекта перед именем функции, кому-то больше нравится писать имя объекта справа от имени функции. Я не вижу принципиальной разницы - дело вкуса (и синтаксис языка).
0
|
|||
|
14821 / 9605 / 1369
Регистрация: 21.01.2016
Сообщений: 36,150
|
||||
| 15.06.2020, 11:45 | ||||
|
0
|
||||
|
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,782
|
|||
| 15.06.2020, 12:16 | |||
|
2) определение структуры и методов можно разместить рядом, в одном файле.
0
|
|||
|
Заблокирован
|
||
| 15.06.2020, 12:24 [ТС] | ||
|
0
|
||
|
Модератор
3142 / 2290 / 469
Регистрация: 26.03.2015
Сообщений: 8,920
|
||||||||
| 15.06.2020, 12:35 | ||||||||
0
|
||||||||
|
Модератор
3142 / 2290 / 469
Регистрация: 26.03.2015
Сообщений: 8,920
|
||
| 15.06.2020, 12:42 | ||
|
0
|
||
|
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,782
|
||
| 15.06.2020, 12:45 | ||
|
Во-вторых, в природе любой объект можно «разкапсулировать» на различном уровне различными инструментами. В-третьих, чем это, по-твоему, отличается от АТД?
0
|
||
|
Модератор
3142 / 2290 / 469
Регистрация: 26.03.2015
Сообщений: 8,920
|
||
| 15.06.2020, 13:25 | ||
|
0
|
||
|
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,782
|
||||||||||||||||
| 15.06.2020, 13:49 | ||||||||||||||||
|
Вопрос к знатокам ООП, как правильно спроектировать классы и методы для написания текста:
0
|
||||||||||||||||
|
Заблокирован
|
|||||
| 15.06.2020, 16:50 [ТС] | |||||
|
Добавлено через 4 минуты ![]() Добавлено через 4 минуты
0
|
|||||
|
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,782
|
|||||
| 15.06.2020, 17:38 | |||||
|
1
|
|||||
| 15.06.2020, 17:38 | |
|
Паттерны vs ООП
Основы Java освоены, понятия, парадигмы, ООП. Читать код могу, понятия есть, но все бы ничего, что дальше? Доходчиво разъясните...
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Про "Windows must die!"
kumehtar 04.11.2026
Знаете, чет накатило. . . .
Когда-то это было почти боевым кличем: мол, нормальный человек сидит на DOS, OS/ 2 или Linux, а вот это вот - Must Die. А теперь человек произносит «мастдай» с усмешкой - и. . .
|
Красочные поля с номером страницы svg+background-image
russiannick 04.11.2026
Красочные поля с номером страницы не менее важны чем в эпоху бумажных книг.
Посему спешу представить почтеннейшей публике этот важный инструмент который эти поля и формирует.
В процессе разработки. . .
|
Вступаем в новую фазу генерации favicons, векторную.
russiannick 02.11.2026
Теперь нет нужды скрывать что используется простой svg. Исходный код изображения помещаем в поле и жмем кнопку. Исходник преобразуется в вид корректный для помещения в favicon или в url(). Нажатие. . .
|
Генератор паролей (вариант №4)
Maks 01.11.2026
После публикации 3-го варианта генератора паролей, разослал его своим коллегам (с целью оценки), в итоге были получены следующие рекомендации:
1. Вернуть возможность использования знаков | 1 l I;. . .
|
|
Генератор паролей (вариант №3)
Maks 30.10.2026
Финальная версия генератора паролей 1С.
Доработка решения в этот раз коснулась только визуальной части, а именно, добавлен реквизит ДопПараметры (тип Булево), который скрывает/ отображает реквизиты:. . .
|
Магическое мышление и магия, современная наука не отличима от магии (говорит ИИ Джемени)
zorxor 30.10.2026
Джемени, расскажи, пожалуйста, что такое магическое мышление, что такое магия, почему современная наука чем-то напоминает магию?
Фраза «Любая достаточно развитая технология неотличима от магии». . .
|
За какое время ИИ может подобрать пароль по хешу (рассказывает Джемени ИИ)
zorxor 30.10.2026
Расскажи, Джемени, если известен хэш МД5, например, за сколько ИИ сможет подобрать соответствующий пароль?
Искусственный интеллект (ИИ) может подобрать простой или средний по сложности пароль по. . .
|
Кто убил Suno? Почему наше солнышко погасло? (диалог с ИИ Джемени)
zorxor 30.10.2026
Как убивали Suno. Хронология.
«Убийство» музыкальной нейросети Suno — это затяжной процесс, в котором технологический хайп стартапа разбился о жесткую реальность судебных исков от гигантов. . .
|