LINUX.ORG.RU

Модные молодежные паттерны

 , , ,


0

4

А вот кто какие можные новые паттерны проектирования для современных с расширенными возможностями ФП(Scala, C#, F#, Clojure etc)? Поделитесь ссылками на полезные статейки по теме

★★★★★

Учитывая что паттернами называют что угодно, что имеет под собой концепцию...

cake pattern, pimp my library, type classes/adhoc polimorphism (это не совсем паттерн, просто не все знают как это делать в scala), pattern matching/extractor, algebraic data type, zipper, stream computation

vertexua ★★★★★
()
Ответ на: комментарий от vertexua

type classes/adhoc polimorphism (это не совсем паттерн, просто не все знают как это делать в scala), pattern matching/extractor, algebraic data type, zipper, stream computation, моноиды, монады, semigroups

Всё перечисленное - не паттерны, а конструкции языка, математические объекты вперемешку с моделями вычислений и структурами данных.

imtw
()
Ответ на: комментарий от imtw

В функциональщине это называют и паттернами, такие дела. Подмена понятий конечно, но это ничего не меняет и даже увеличивает ЧСВ функциональщиков.

quiet_readonly ★★★★
()
Ответ на: комментарий от imtw

Правильно. А паттернами нынче называют вообще все что можно назвать приемом программирования. «Жонглировать умеешь? Да» Паттерн жонглирования

vertexua ★★★★★
()
Ответ на: комментарий от quiet_readonly

Вообще не помню, встречал ли я слово «паттерн» том в значении, которое ему придала банда четырёх, в книжках и статьях по функциональщине. Это, похоже, изобретение жабистов с фабрикой головного мозга, перелезающих на скалку патамуштамодно.

imtw
()
Ответ на: комментарий от imtw

Если да, то такой широкий термин просто не нужен.

Ты зришь в корень

vertexua ★★★★★
()
Ответ на: комментарий от vertexua

Учитывая что паттернами называют что угодно, что имеет под собой концепцию...

а что-нибудь именно в смысле GoF(вот как cake pattern).

RedPossum ★★★★★
() автор топика
Ответ на: комментарий от RedPossum

Уберите из моего списка явные фичи языка и оставьте то что делается комбинированием этих фич. pimp my library, ADT, zipper. Ну хоть убейте но уверен что монада - паттерн

vertexua ★★★★★
()

Если RAII (Resource Acquisition Is Initialization) - «выделение ресурса есть инициализация» - это паттерн, то тогда и with-open в Clojure тоже является паттерном.

geometer
()
Ответ на: комментарий от quiet_readonly

Я знал что на ЛОРе много терминодрочеров. Вам шашечки или ехать?

vertexua ★★★★★
()
Ответ на: комментарий от vertexua

моноиды, монады, semigroups

мне вот из чистого любопытства интересно - почему моноиды и монады у тебя написаны по-русски, а полугруппы по-английски?

jtootf ★★★★★
()
Ответ на: комментарий от imtw

Вообще не помню, встречал ли я слово «паттерн» том в значении, которое ему придала банда четырёх, в книжках и статьях по функциональщине. Это, похоже, изобретение жабистов с фабрикой головного мозга, перелезающих на скалку патамуштамодно.

GoF в книге примеры и на Smalltalk приводили, если я правильно помню, а также в самом начале книги распинались про параллели из проектирования зданий, откуда они и позаимствовали этот термин. Вроде, не напутал ничего, давно читал. В общем, жабисты с фабрикой - это следствие, а не причина.)

Reaper ★★
()
Последнее исправление: Reaper (всего исправлений: 2)
Ответ на: комментарий от quiet_readonly

Паттерн — это абстракция, которую нельзя записать в виде библиотечного кода, в т.ч. из-за ограниченных возможностей ЯП, не?

pitekantrop ★★★
()
Ответ на: комментарий от vertexua

adhoc polimorphism (это не совсем паттерн, просто не все знают как это делать в scala)

Знают то все, просто не все знают, что это так называется.

pitekantrop ★★★
()
Ответ на: комментарий от quiet_readonly

Идиома языка, а не паттерн.

Абсолютно одно и то же, по-моему.

pitekantrop ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.