在JavaScript中制定一个特定的模式

时间:2019-02-14 14:22:24

标签: javascript design-patterns

嗨,JavaScript编码器!,

我已经尝试找出一些代码。基本上,这是d3中的一个应用程序,它根据数据并根据选定的阈值为一个国家的地图着色。据说程序是用特定的模式编写的,即:

 //program pattern
const compose = (...fns) => (arg) => 
 fns.reduce((composed, f) => f(composed), arg)

此撰写功能还用于文件的主要功能

var drawMap = (categoryName, subCategory, subSubCategory, colorFunction=defaultColorFunction) => {

    var getArrayOfCategory = getArrayOfCategoryByName(categoryName),
        colorArrayBuilder = createColorArrayBuilder(colorFunction),
        d3SvgMap = d3.select("svg#svg2"),
        colorMap =  createColorMap(d3SvgMap),
        hoverTipString = subSubCategory + " " + subCategory.toLowerCase(),
        hoverEffects = addHoverEffects(d3SvgMap)(hoverTipString),
        currentRenderArray = getCurrentRenderArray(C.defaultMainCategory, subCategory, subSubCategory),
        d3SvgPyramid = d3.select("svg#"+C.pyramidSvgId),
        pyramidChart = drawPyramidChart(d3SvgPyramid),
        handler =   compose(
                        currentRenderArray,
                        hoverEffects,
                        colorArrayBuilder,
                        pyramidChart,
                        colorMap
                    )

        getArrayOfCategory(handler)
}

任何人都可以像简单的话一样向我解释这种模式,并告诉我处理程序函数在drawMap中的作用是什么。

我真的很想了解这一点,所以对您的帮助将不胜感激。

预先感谢

0 个答案:

没有答案