|
Получение spring beans в классе, неуправляемом spring
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev ООП зиждется на постулате инкапсуляции: данные и код которые их обрабатывают должны быть собраны в одном месте Вроде бы верный постулат. Но если взять реальные бизнес-системы, то он нифига не действует. По факту, приходится брать всю (сложную) предметную область и раскладывать на "технически эффективные объекты", а не "описывать бизнес-терминологию на языке объектов". ... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2020, 08:36 |
|
Получение spring beans в классе, неуправляемом spring
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev, мне кажется проблема больше в Джаве, как таковой. В ней смешиваются понятия модуля (функциональное разделение с инкапсуляцией) и класса. И, кроме того, в джаве не бывает методов без класса, хотя, казалось бы, никто не заставляет писать все процедуры внутри классов. Они могут лежать и отдельно, как в Делфи или С++, например. В результате джависты вынуждены создавать искусственные объекты: всякие там контроллеры, генераторы, парсеры, утилитные классы и пр. , чтобы обойти ограничения языка. Смешную фразу прочитал от Вирта недавно: "Просто невозможно поблагодарить всех тех, кто так или иначе подпитывал своими идеями то, что теперь называется Oberon. Большинство идей пришло от использования и изучения существующих языков, таких как Modula-2, Ada, Smalltalk и Cedar, которые часто предостерегали нас от того, как не надо делать ." ... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2020, 08:38 |
|
Получение spring beans в классе, неуправляемом spring
|
|||
---|---|---|---|
#18+
unregestered Leonid Kudryavtsev, мне кажется проблема больше в Джаве, как таковой. В ней смешиваются понятия модуля (функциональное разделение с инкапсуляцией) и класса. И, кроме того, в джаве не бывает методов без класса, хотя, казалось бы, никто не заставляет писать все процедуры внутри классов. Они могут лежать и отдельно, как в Делфи или С++, например. В результате джависты вынуждены создавать искусственные объекты: всякие там контроллеры, генераторы, парсеры, утилитные классы и пр. , чтобы обойти ограничения языка. Kotlin?! :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2020, 09:49 |
|
Получение spring beans в классе, неуправляемом spring
|
|||
---|---|---|---|
#18+
Basil A. Sidorov Leonid Kudryavtsev ООП зиждется на постулате инкапсуляции: данные и код которые их обрабатывают должны быть собраны в одном месте Вроде бы верный постулат. Но если взять реальные бизнес-системы, то он нифига не действует. По факту, приходится брать всю (сложную) предметную область и раскладывать на "технически эффективные объекты", а не "описывать бизнес-терминологию на языке объектов". +1 к наивным иерархиям. Каким образом формы документов, которые по-сути просто мешок данных для печати отчета, внезапно стали бизнес-сущностью? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2020, 13:01 |
|
Получение spring beans в классе, неуправляемом spring
|
|||
---|---|---|---|
#18+
дубликат ... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2020, 13:02 |
|
Получение spring beans в классе, неуправляемом spring
|
|||
---|---|---|---|
#18+
unregestered "Просто невозможно поблагодарить всех тех, кто так или иначе подпитывал своими идеями то, что теперь называется Oberon. Большинство идей пришло от использования и изучения существующих языков, таких как Modula-2, Ada, Smalltalk и Cedar, которые часто предостерегали нас от того, как не надо делать ." Насколько я понимаю Оберон это не просто язык. Это целая академическая разработка ОС+Среда+Язык. Тоесть сравнивать его (Оберон) можно не как язык а как отдельную идею и только в этой весовой категории. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2020, 13:34 |
|
Получение spring beans в классе, неуправляемом spring
|
|||
---|---|---|---|
#18+
Basil A. Sidorov Практика показывает, что всегда найдётся задача (целый класс задач) где надо "портянку растягивать". От концептуальной эстетики языка это не зависит. Помнится, была на RSDN статья про "сложность". Основной посыл: сложность она такая, какая есть. Всё, что можно сделать - "замести" часть сложности "куда-то". Я бы сказал, что замести сложность в "концепции языка" - вряд ли удастся. Не стоит путать инфраструктурную сложность и сложность бизнес-модели. На сложность бизнес-модели ни язык ни платформа никаким образом повлиять не могут, это очевидно. А вот по поводу инфраструктруной сложности - еще как могут, далее в топике приведен хороший пример, когда для того чтобы написать просто функцию надо создать целый класс. Так что не все так просто ... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2020, 14:08 |
|
Получение spring beans в классе, неуправляемом spring
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev А дальше начинается порнография. В каком из этих объектов я должен реализовывать метод РазнестиОплату (Квитовать) ? Чисто организационно (по рабочим группам), он относится к модулю ПриемПлатежей. НО он так же должен иметь полный доступ к функционалу Bill и BillLines. Т.е. или всю секьюрити/инкапсуляция идет лесом или нужно кодировать 100500 мелких служебных функций, что бы туда-сюда-обратно управление между классами передавать. Так же и внесение изменений. Любое изменение по любому пчиху заказчика, затрагивает все классы. Которые относятся к совершенно разным (организационно) группам (программистам) и модулям: Платежи и Счета/Начисления. Т.е. модульность и инкапсуляция становится не благом, а даже злом (организационно). Не в бровь а в глаз:) Нельзя не вспомнить знаменитую статью Армстронга(создателя Эрланга) - "The problem with object-oriented languages is they’ve got all this implicit environment that they carry around with them. You wanted a banana but what you got was a gorilla holding the banana and the entire jungle." Объединение данных и алгоритмов в одном месте - насквозь костыльная идея, как ни пытались ввести в массы rich model посредством Фаулера - так ничего и не вышло. Как писали Сервисы и контроллеры так и пишут. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2020, 14:15 |
|
Получение spring beans в классе, неуправляемом spring
|
|||
---|---|---|---|
#18+
забыл ник А вот по поводу инфраструктруной сложности - еще как могут, далее в топике приведен хороший пример, когда для того чтобы написать просто функцию надо создать целый класс. Так что не все так просто Вы же не "внезапно обнаружили", что "функция может быть только в виде метода класса"? Нет. Вот и проектируйте иерархию объектов с учётом имеющихся ограничений. Не впадая брезгливое омерзение эстетствующего творца. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2020, 14:41 |
|
Получение spring beans в классе, неуправляемом spring
|
|||
---|---|---|---|
#18+
Basil A. Sidorov забыл ник А вот по поводу инфраструктруной сложности - еще как могут, далее в топике приведен хороший пример, когда для того чтобы написать просто функцию надо создать целый класс. Так что не все так просто Вы же не "внезапно обнаружили", что "функция может быть только в виде метода класса"? Нет. Вот и проектируйте иерархию объектов с учётом имеющихся ограничений. Не впадая брезгливое омерзение эстетствующего творца. Так эти ограничения идут от инструмента, они ортогональны бизнес-логике, зачем мне "сжимать зубы и терпеть"? Я пожалуй поищу другой инструмент. Вся история развития программирования - это постепенный вынос инфраструктурной сложности в саму платформу, чтобы программист мог сконцентрироваться на бизнес-логике ... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2020, 14:43 |
|
Получение spring beans в классе, неуправляемом spring
|
|||
---|---|---|---|
#18+
забыл ник Вся история развития программирования - это постепенный вынос инфраструктурной сложности в саму платформу, чтобы программист мог сконцентрироваться на бизнес-логике Но гордые эстеты от программирования продолжают уверенно шагать по старым граблям. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2020, 14:59 |
|
Получение spring beans в классе, неуправляемом spring
|
|||
---|---|---|---|
#18+
Basil A. Sidorov забыл ник Вся история развития программирования - это постепенный вынос инфраструктурной сложности в саму платформу, чтобы программист мог сконцентрироваться на бизнес-логике Но гордые эстеты от программирования продолжают уверенно шагать по старым граблям. Само собой серебряной пули нет. И каждому инструменты - свое дело. Но ты же не поспоришь что например параллельное программирование на лет так 15 назад это небо и змеля. И так во всем. Невозможность создания универсального инструмента не отменяет попытки усоверщенствовать имеющиеся ... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2020, 15:03 |
|
Получение spring beans в классе, неуправляемом spring
|
|||
---|---|---|---|
#18+
забыл ник Невозможность создания универсального инструмента не отменяет попытки усоверщенствовать имеющиеся Работа у вас "инструменты совершенствовать" или, таки, "бизнес програмировать"??? А если совершенствовать, то в чём проблема? Берём JVM/JLS и пишем "новое API без недостатков", опираясь на возможности модуляризированной платформы. Если правильно помню, то собственно JVM для запуска требуется всего пяток классов: Class, ClassLoader, Thread, ThreadGroup и String. Если "делать правильно", то мы свободны и от ограничений существующего String API. Если делать собственный компилятор, то можно порешать ещё и проблемы (un)box/generics. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2020, 15:20 |
|
|
start [/forum/topic.php?fid=59&msg=39957486&tid=2120807]: |
0ms |
get settings: |
20ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
54ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
265ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 383ms |
0 / 0 |