Что является хорошим примером для функционального стиля веб-программирования с использованием JavaScript?

Сейчас я делаю javascript ежедневно. Я пришел из OO, и большая часть кода, с которым я контактирую, в некотором смысле процедурная /OO. Я ищу хорошие примеры, которые решают более или менее типичные задачи веб-программирования, но функционально.

Мне не интересно иметь какой-либо произвольный пример, который выглядит просто как функциональный. Я ищу пример, который может показать, как использовать функциональные возможности для решения проблем лучше, чем с другим подходом. Я знаю, что это отчасти зависит от стиля /стиля, но не усложняю себе (себе).

12 голосов | спросил Norbert Hartl 7 Mayam09 2009, 01:53:04

4 ответа


0

Во-первых, вы хотите понять, что означает функциональное программирование; то есть, каковы основные понятия и насколько хорошо язык позволяет придерживаться этих понятий. Для ООП основными понятиями являются инкапсуляция, наследование и полиморфизм (или просто передача сообщений для небольших пользователей). Для FP центральным принципом является ссылочная прозрачность (что подразумевает безгражданство). Попытка программировать в функциональном стиле на языке, который не поддерживает функциональные особенности (например, функции в качестве объектов первого класса), будет неудобной, если не невозможной. То же самое с программированием в ООП на языках, которые не имеют функций ООП.

К счастью, Javascript является мультипарадигмой и поддерживает оба. Вместо того, чтобы искать примеры кода, который является «функциональным», просто подумайте обо всех способах, которыми вы можете обеспечить ссылочную прозрачность, и это естественно приведет к использованию функций языка FP, таких как лямбда-выражения, замыкания , функции более высокого порядка (например, отображение, уменьшение, фильтр), каррирование и т. д.

Серьезно, это не означает, что это не ответ. Я действительно думаю, что это самый мотивирующий и эффективный способ приблизиться к нему.

Тем не менее, вот несколько полезных ссылок.

  1. Программирование на FP на JavaScript

  2. Практически адекватное руководство по FP

ответил Rodrick Chapman 7 Mayam09 2009, 07:58:23
0

Дуглас Крокфорд ссылается на функциональный JavaScript со своего JavaScript . Вот фрагмент с сайта:

  

Функциональная библиотека для функциональной   программирование на JavaScript. Определяет   стандартные функции высшего порядка   такие как карта, уменьшить (иначе сложить), и   выберите (иначе фильтр). Это также определяет   такие функции, как карри, ркури и   частичное для частичной функции   приложение; и сочинять, охранять и   пока для программирования на уровне функций.   И все эти функции принимают   строки, такие как 'x -> х + 1 ',' х + 1 'или   «+1» как синонимы для более многословного   function (x) {return x + 1}.

ответил Kevin Hakanson 7 Mayam09 2009, 04:39:57
0

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

function bind(aHandler, aBind) {
    var handler = aHandler;
    var bind = aBind;
    return function(event) {
        return handler.call(bind, event);
    }
}

Он имеет дело с областями действия (карри) и удобен.

ответил Norbert Hartl 7 Mayam09 2009, 02:16:21
0

Посмотрите jQuery . Этот блог хорошо показывает, что он в функциональном стиле. http://importantshock.wordpress.com/2009/01 /18 /JQuery-это-монада /

Тем не менее, JS на самом деле не является функциональным языком (IMO), поэтому попытка сделать так, чтобы он был единым, вероятно, не самый эффективный путь для разработчика (использование отвертки в качестве молотка - все еще дает толчок стена, но не так быстро :). Опять же, это лямбда-язык.

ответил pluckyglen 7 Mayam09 2009, 04:34:48

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132