最新 | 最热门 | 最高评价

+0  Go语言的修饰器编程

Tag: Go 语言 | 程序设计 | 编程语言 | functional | Go | golang | Programming | 函数式
陈皓 发于 2017年06月01日 16:48 | 点击: 984 | 展开摘要
之前写过一篇《Python修饰器的函数式编程》,这种模式很容易的可以把一些函数装配到另外一些函数上,可以让你的代码更为的简单,也可以让一些“小功能型”的代码复用性更高,让代码中的函数可以像乐高玩具那样自由地拼装。所以,一直以来,我对修饰器decoration这种编程模式情有独钟,这里写一篇Go语言相关的文章。

看过Python修饰器那篇文章的同学,一定知道这是一种函数式编程的玩法——用一个高阶函数来包装一下。多唠叨一句,关于函数式编程,可以参看我之前写过一篇文章《函数式编程

查看全文: http://www.udpwork.com/item/16287.html

+0  追求纯粹

Tag: Thinking In Code | AngularJS | 函数式编程 | 工程 | 纯粹 | 设计
四火 发于 2015年11月23日 14:57 | 点击: 984 | 展开摘要
偶然想到的这个话题,工程师做工程是一方面,而作为单纯的程序员,总是充满对于纯粹的追求。

最近又负责了一个使用Angular的项目,我们知道最近Angular很火,其中一个重要原因就是它给前端开发带来的变革,第一次发现可以让以前如此恼人的变量绑定消失掉。以往变量绑定的语句放在附属于页面的一个js片段(文件)里面,颇有些无奈的意思,如果把它视为展现层面的东西,显得很不直观(声明式编程才是最直观的方式),而且让这一层变得啰嗦;而如果把它视为下面一层的东西,这又让逻辑代码变得不纯粹

查看全文: http://www.udpwork.com/item/14790.html

+0  Python修饰器的函数式编程

Tag: Python | 程序设计 | 编程语言 | Decorator | functional | Programming | 函数式
陈皓 发于 2014年03月20日 09:50 | 点击: 2180 | 展开摘要
Python的修饰器的英文名叫Decorator,当你看到这个英文名的时候,你可能会把其跟Design Pattern里的Decorator搞混了,其实这是完全不同的两个东西。虽然好像,他们要干的事都很相似——都是想要对一个已有的模块做一些“修饰工作”,所谓修饰工作就是想给现有的模块加上一些小装饰(一些小功能,这些小功能可能好多模块都会用到),但又不让这个小装饰(小功能)侵入到原有的模块中的代码里去。但是OO的Decorator简直就是一场恶梦,不信你就去看看wikipedi

查看全文: http://www.udpwork.com/item/11978.html

+0  编程范型详解

Tag: Programming Paradigms | 事件驱动 | 函数式编程 | 原型 | 编程范型 | 面向对象 | 面向方面编程
四火 发于 2014年02月24日 00:58 | 点击: 1921 | 展开摘要
在上一篇文章《再谈榔头和钉子》,提到了设计模式和编程范型,相较于设计模式,编程范型往往和语言本身强相关,一种特定的语言,只适用于一种或者几种编程范型。它类似于一种编程风格,也决定了程序员是如何去认识程序的结构、交互和执行的。编程范型是程序员大脑中在设计编码阶段预先考虑到的内容,但是相较于满街跑的设计模式,这个过程往往下意识地被忽略。另外,如果你现在在思考编程范型的时候,脑海里只有“面向对象”和“面向过程”这两者跳出来,那可能是真的被糟糕的面向对象教材毒害太深了。

在维基百科

查看全文: http://www.udpwork.com/item/11758.html

+0  函数式编程

Tag: Python | 程序设计 | 编程语言 | functional | Javascript | 函数式
陈皓 发于 2013年12月27日 08:11 | 点击: 2292 | 展开摘要
当我们说起函数式编程来说,我们会看到如下函数式编程的长相:

函数式编程的三大特性:

immutable data 不可变数据:像Clojure一样,默认上变量是不可变的,如果你要改变变量,你需要把变量copy出去修改。这样一来,可以让你的程序少很多Bug。因为,程序中的状态不好维护,在并发的时候更不好维护。(你可以试想一下如果你的程序有个复杂的状态,当以后别人改你代码的时候,是很容易出bug的,在并行中这样的问题就更多了)

first class functions:这

查看全文: http://www.udpwork.com/item/11411.html

+0  闭包漫谈(从抽象代数及函数式编程角度)

Tag: 程序语言及编译器 | javascript | scheme | 函数式编程 | 闭包
ericzhang 发于 2011年12月05日 17:14 | 点击: 1216 | 展开摘要
前言

如果Google一下“闭包”这个词,会发现网上关于闭包的文章已经不计其数,甚至很多人将闭包看做面试JavaScript程序员的必考题(虽然闭包和JavaScript没有什么必然联系)。既然如此,我为什么还要写一篇关于闭包的文章呢?

首先,虽然网上关于闭包的文章甚多,但是很少以较为形式化的角度阐述闭包,而我认为理解闭包的关键之一就是从形式化角度理解其涵义;其次,大多数文章将闭包的概念与JavaScript语言绑定太死,这样容易局限对闭包概念的理解,而难以窥探到其本质。

查看全文: http://www.udpwork.com/item/8527.html
|<<<1>>>| 一共1页, 6条记录