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

Это действительно для более старой версии, например. 1.5:

    
        org.codehaus.mojo
        jaxb2-maven-plugin
        1.5
        
            
                xjc
                
                    xjc
                
                
                    ${project.basedir}src/main/resources
                    ${project.basedir}src/main/java
                
            
        
    

Для версии 2.4, согласно документации, больше нет тега schemaDirectory https://www.mojohaus.org/jaxb2-maven-plugin/Documentation/v2.4 /xjc-mojo.html


    org.codehaus.mojo
    jaxb2-maven-plugin
    2.4
    
        
            xjc
            
                xjc
            
        
    
    
        ${project.basedir}src/main/java
        
            ${project.basedir}src/main/resources
        
    

12
задан Norbert Hartl 7 May 2009 в 07:25
поделиться

4 ответа

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

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

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

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

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

  2. В основном адекватное руководство по FP

17
ответ дан 2 December 2019 в 06:45
поделиться

One example that I remember is a function that is bound to an object for registering as event handler

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

It is dealing with scopes (currying) and is handy.

1
ответ дан 2 December 2019 в 06:45
поделиться

Взгляните на jQuery . Этот блог является хорошим примером того, что он выполнен в функциональном стиле. http://importantshock.wordpress.com/2009/01/18/jquery-is-a-monad/

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

0
ответ дан 2 December 2019 в 06:45
поделиться

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

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

5
ответ дан 2 December 2019 в 06:45
поделиться
Другие вопросы по тегам:

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