Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
mayton Вот и попробуй решить эту задачу. Я не знаю как ее решать. Может я подхожу слишком фундаментально? я не вижу тут задачу, нет чёткого условия и цели, есть просто набор животных. Но иерархия классов позволяет запихнуть и животный класс, и класс парнокопытных, и класс кошачьих а может он хотел на клеточном уровне разделение провести? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2020, 13:26 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
полудух mayton Вот и попробуй решить эту задачу. Я не знаю как ее решать. Может я подхожу слишком фундаментально? я не вижу тут задачу, нет чёткого условия и цели, есть просто набор животных. Но иерархия классов позволяет запихнуть и животный класс, и класс парнокопытных, и класс кошачьих а может он хотел на клеточном уровне разделение провести? Вот вот. Это само интересное. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2020, 14:00 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
mayton Вот и попробуй решить эту задачу. Я не знаю как ее решать. Может я подхожу слишком фундаментально? Где ты там увидел задачу? Там просто иллюстрация, что наследование в ООП не имеет ничего общего с реальностью, оно абстрактно, всего лишь вынос общих характеристик и поведения в отдельную структуру и Java с запретом нормального множественного наследования в этом плане куцый инструмент. То что функция в жаве не может возвращать кортеж простых значений, либо один примитив либо объект, тоже не говорит в ее пользу. Невозможно создать систему исполняющую "хочу чтобы все", ее придется конкретизировать и решить вполне формализуемый кейс, если задача не формализуется, программу написать не получится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2020, 14:19 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
Ну тода закроем зоопарк. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2020, 14:41 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
exp98 автор...Вот совсем не интересно. Интересно, если вы выделили чистый домен. И смогли объяснить это на языке бизнеса, используя свой домен. Вы сравниваете абсолютно перпендикулярные вещи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2020, 15:45 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
mayton Раз уж взялись за зоопарк, давай рассмотрим наследование на примере зоопарка. Пусть у нас будут волк, собака, заяц, кошка, жираф, бегемот, зебра, слон. Итак, все животные разные в реальном мире между ними нет наследования, они независимы, ни в одном из них не сидит другое животное. Мы написали классы на каждое животное, стали писать функцию отвечающую за перемещение объекта и выяснилось, они все о четырех конечностях и функция перемещения у них одинакова, что у нас получилось? Мы написали одинаковый код много раз, а если еще и накосячили, придется исправлять в многих местах и тестировать каждый объект по отдельности, это хорошо, нет это совсем не хорошо (даже принцип в программировании на этот счет имеется - DRY). А давай ка мы возьмем и выделим четыре конечности и функцию перемещения в самостоятельный класс, назовем его "животное бегающее на четырех ногах", являются ли все перечисленные нами животные животными бегающими на четырех ногах? Да являются, замечательно получили суперкласс в котором один раз описали количество конечностей и метод перемещения, бинго. Вот и попробуй решить эту задачу. Я не знаю как ее решать. Может я подхожу слишком фундаментально? Про зоопарк? Стратегия, команда, состояние, посетитель -- описываем поведение. Мост, компоновщик, адаптер -- описываем структуру. Хотим со стороны бизнеса моделировать, берём DDD. Хотим удобно описывать сценарии, пилим DSL. И т.д. и т.п. ООП в данном случае это низкоуровневое решение, и не является инструментом для моделирования объектов реального мира. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2020, 15:51 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
hVostt, извиняюсь спросить, а биснес-объекты для фунционирования DSL вы как описываете? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2020, 16:02 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
hVostt mayton пропущено... Вот и попробуй решить эту задачу. Я не знаю как ее решать. Может я подхожу слишком фундаментально? Про зоопарк? Стратегия, команда, состояние, посетитель -- описываем поведение. Мост, компоновщик, адаптер -- описываем структуру. Вот сколько в топике сейчас сидит читателей - столько и будет компоновок классов и шаблонов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2020, 16:17 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
hVostt mayton Вот ФП - это игры разума. Да. Это программирование. Да. Оно позволяет решать задачи. Обычно кратко. И оригинально. И когда классическое императивное программирование устаёт само от себя - выдыхается. Никаких там игр разума нет. ФП в чистом виде это догматика. И в этом виде, такая же бесполезная, и более того -- откровенная вредная, как и ООП. Достаточно почитать книжку по ООП времён его популяризации. У опытного разработчика волосы зашевелятся, чё за бред эти люди несут? В подобной теории есть польза только если правильно на это смотреть. Не в лоб. У ФП подхода в программировании есть конкретные преимущества. Но есть и конкретные недостатки. Если клинический случай ООП, это жирный убогий, перегруженный, семантически безобразный, с большим количеством обязанностей объект. То ФП это функция. Во многих отношениях и при глубоком рассмотрении, вы увидите там те же яйца, только в профиль. И не увидите той математической красоты и элегантности, которую некоторые вам впаривают :) Да хз. Ты видел, например, задачу обхода конем на SQL, или аналогичное на Haskel? разве это не красиво! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2020, 18:06 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
а это ведь не просто красиво. это концепция! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2020, 18:07 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
монады - если в них разобраться, не такой уж и страшный зверь. вообще, все, что идет от математики - это надо. потому что именно она - генератор абстракций. тех абстракций, которые потом как инструмент используются, в частных случаях ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2020, 18:11 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
kealon(Ruslan) hVostt, извиняюсь спросить, а биснес-объекты для фунционирования DSL вы как описываете? Так, чтобы можно было писать требуемую бизнес-логику. Посмотрите, например, на ABAC. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2020, 18:12 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
hVostt mayton Я помнится писал где-то про аналогию с наследованием. Это грандиозная мистификация! Нет никакого наследования (как в генетике например)! Есть расширение класса. Оно так и называется - extend. Почему нет? Есть. Но к реальному миру это не имеет отношения. Насчёт расширения, -- ну нет же. Для расширения есть множество различных паттернов и подходов. Тот же Мост, например. Для расширения как раз лучше используется аргрегация, чем наследование. mayton Код: java 1. Собака расширяет волка. И всё. Не наследует. Не копирует. Не инкапсулирует. А просто расширяет. Это буквальный английский перевод. Ну вот он и плохой пример для ООП :) Тут термин extends работает ещё хуже, так как конкретно запутывает, и откровенно нагло врёт разработчику. вот видишь Хвост, ты уже потерян для функционального программирования ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2020, 18:13 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
mayton Вот сколько в топике сейчас сидит читателей - столько и будет компоновок классов и шаблонов. Найн-найн. Не согласен. Эдак вы все сводите к вопросам фломастеров. А фломастеры, это уже из области моды, цветастых платьев, и вкусовщины. Но никак не инженерная дисциплина. Предание про Вавилонскую башню слышали? Это не значит, что все всё должно делать одинаково, но если не говорить на одном языке, вы и кривого сарая не построите. Потому что у каждого "своя компоновка и шаблоны". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2020, 18:16 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
hVostt mayton Вот сколько в топике сейчас сидит читателей - столько и будет компоновок классов и шаблонов. Найн-найн. Не согласен. Эдак вы все сводите к вопросам фломастеров. А фломастеры, это уже из области моды, цветастых платьев, и вкусовщины. Но никак не инженерная дисциплина. Предание про Вавилонскую башню слышали? Это не значит, что все всё должно делать одинаково, но если не говорить на одном языке, вы и кривого сарая не построите. Потому что у каждого "своя компоновка и шаблоны". над ООП вырастают, по сути, свои Метаязыки, SOLID и т.п. - это оно и есть. ТС хотел спросить, как я думаю, нет ли такой же фигни в ФП ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2020, 18:20 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
love_bach над ООП вырастают, по сути, свои Метаязыки, SOLID и т.п. - это оно и есть. ТС хотел спросить, как я думаю, нет ли такой же фигни в ФП Есть, ссылки уже дал skyANA. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2020, 18:22 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
hVostt love_bach над ООП вырастают, по сути, свои Метаязыки, SOLID и т.п. - это оно и есть. ТС хотел спросить, как я думаю, нет ли такой же фигни в ФП Есть, ссылки уже дал skyANA. это не то ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2020, 18:23 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
hVostt love_bach над ООП вырастают, по сути, свои Метаязыки, SOLID и т.п. - это оно и есть. ТС хотел спросить, как я думаю, нет ли такой же фигни в ФП Есть, ссылки уже дал skyANA. это вообще не то! ладно, проехали ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2020, 18:24 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
love_bach hVostt пропущено... Найн-найн. Не согласен. Эдак вы все сводите к вопросам фломастеров. А фломастеры, это уже из области моды, цветастых платьев, и вкусовщины. Но никак не инженерная дисциплина. Предание про Вавилонскую башню слышали? Это не значит, что все всё должно делать одинаково, но если не говорить на одном языке, вы и кривого сарая не построите. Потому что у каждого "своя компоновка и шаблоны". над ООП вырастают, по сути, свои Метаязыки, SOLID и т.п. - это оно и есть. ТС хотел спросить, как я думаю, нет ли такой же фигни в ФП Я просто подчеркиваю свою мысль. О том что ООП - математически недоказуемо. ООП разработчик просто кодит и говорит нам - "вот смотрите... я художник. Я так вижу..." ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2020, 18:32 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
mayton love_bach пропущено... над ООП вырастают, по сути, свои Метаязыки, SOLID и т.п. - это оно и есть. ТС хотел спросить, как я думаю, нет ли такой же фигни в ФП Я просто подчеркиваю свою мысль. О том что ООП - математически недоказуемо. ООП разработчик просто кодит и говорит нам - "вот смотрите... я художник. Я так вижу..." ООП - это надстройка над императивной массой языков. Для облегчения сопровождения. И если ООП-ским (правильным) правилам следовать, которые, кстате, выходят за язык, они сверху, тогда можно достичь ... чего-то там. ФП изначально, в своей парадигме, оно против. там есть более выразительные концепции. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2020, 18:42 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
love_bach hVostt пропущено... Есть, ссылки уже дал skyANA. это не то Почему не то? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2020, 18:56 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
skyANA love_bach пропущено... это не то Почему не то? попытки адаптации всегда ведут к брешам в логике и реализации можно конечно делать вид, что типа втыкаешь как зарекомендовано, но всегда где нить кого нить да прорвёт при том что никто и не заметит, а компилятор обмануть заметно сложнее ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2020, 19:06 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
Offtopic и черный юмор temporary on. iOracleDev .... ООП для бизнеса на примере правильных сущностей? Давайте рассмотрим простой пример person, employee, department. С точки зрения ООП employee является person... ... 1) В свое время сидел за соседним столом, рядом с людьми, которые должны были OeBS в Отдел Кадров для угольных шахт продать: С точки зрения учета кадров на OeBS - employee это совсем не person, а inventory. Т.к. самая главная задача - учет выданных касок по серейным номерам, т.к. по каскам в случае аварий employee идентифицируют. А этот бизнес процесс, замечательно автоматизируется в OeBS модулем Inventory 2) Насколько я знаю, в модуле планирования техобслуживания, employe опять таки не person, а банальный Item с нужной галочкой. Т.к. его можно по техкарте на нужную работу назначить. Что employe, что шуроповерт - без разницы. p.s. могу ошибаться, не являюсь экспертом в OeBS. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2020, 21:30 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
Leonid Kudryavtsev, смотрел, и не рассмотрел в обоих случаях юмора, тем более чёрного. Оба кейса мною прочитаны как стишок Агнии Барто - гладко, кратко и приятно, потому что просто и понятно. Я даже скажу - почему так. Про БД я что-то слышал, и с какими-то простыми, но типичными случаями, приходится сталкиваться достаточно регулярно. И оперировать этим всегда приходится как информационной моделью определенного сорта, оторванной от её феноменологического описание. Не осознав, что имеешь дело дело с Item-ом, ты становишься рабом Persona. Тогда Каюк таку систему находит не сильно запыхавшись. А люди "из ооп" настолько помешаны на буквальных интерпретациях классификаций, что на голубом глазу считают, что у них в узлах зебры из зоопарка сидят, унаследованные от ослов. У Гради Буча борода колом должна вставать, от осознания того, как именно сообщество восприняло идеи банды четырёх, переданные его словами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2020, 22:03 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
mayton Я просто подчеркиваю свою мысль. О том что ООП - математически недоказуемо. ООП разработчик просто кодит и говорит нам - "вот смотрите... я художник. Я так вижу..." Вовсе нет. Откуда и с чего вообще такие выводы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2020, 00:12 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=39921949&tid=1339831]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
140ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
| others: | 14ms |
| total: | 261ms |

| 0 / 0 |
