Java8的Lambda表达式确实是一个非常好的特性,但是在哪些场合下使用,其实还是需要仔细考虑的。我们当然不能为了使用而使用,而是需要找到切实有用的场合。在JDBC编程中,例如查询语句,首先需要进行查询参数绑定,其次是处理返回的结果集,这两步操作是每个查询都不同的,而获取JDBC连接,准备PreparedStatement,以及释放资源则都是完全相同的,这就是一个Lambda表达式应用的绝佳场景...
分类:
数据库 时间:
2014-11-11 14:28:58
阅读次数:
346
http://www.nowamagic.net/librarys/veda/detail/1707前面介绍了作用域链和变量对象,现在再讲闭包就容易理解了。闭包其实大家都已经谈烂了。尽管如此,这里还是要试着从理论角度来讨论下闭包,看看ECMAScript中的闭包内部究竟是如何工作的。在直接讨论ECM...
分类:
编程语言 时间:
2014-11-09 11:15:22
阅读次数:
387
1,Scala学习
官方网网站;
http://www.scala-lang.org/
http://www.scala-lang.org/download/
可伸缩的语言是一种多范式的编程语言,一种类似java的编程,设计初衷是要集成面向对象编程和函数式编程的各种特性。
Scala是在JVM上运行。
Scala有几项关键特性表明了它的面向对象的本质。例如,Scala中...
分类:
其他好文 时间:
2014-11-07 20:48:46
阅读次数:
238
要想更好的使用函数式编程,仅仅熟悉其语法结构是远远不够的。必须从思想和设计层面,去考虑它,去接纳它。这种编程范式和大多数开发人员所熟知的面向对象编程范式是不同的。
下面我们从以下几个方面来回顾一下使用函数式编程的要点:
多用声明式,少用命令式
要想更好的使用函数式编程,首先必须要提升代码的抽象程度。之所以使用函数式编程在完成同样任务时需要的代码量比命令式要少,很大程度上就是源于函...
分类:
编程语言 时间:
2014-11-07 11:23:44
阅读次数:
193
Java 8中同时存在面向对象编程(OOP)和函数式编程(FP, Functional Programming)这两种编程范式。实际上,这两种范式并不矛盾,只是着重点不同。在OOP中,着重于通过丰富的类型系统对需要解决的问题进行建模;而FP中则着重于通过高阶函数和Lambda表达式来完成计算。所以我们完全可以将这两者融合在一起,对问题提出更加优雅的解决方案。
在这篇文章中,会介绍如何通过函数...
分类:
编程语言 时间:
2014-11-06 10:58:09
阅读次数:
401
swift 优势:1、简洁(不是说语法体系简洁,而是书写)2、结合playground,做到真正意义上的所见即所得3、便于扩展(能桥接ObjC)4、还有直接支持闭包。你想在哪儿定义函数就在哪儿定义。5、而且既能面向过程,又能面向对象,还能来个函数式编程风格当然,因为之前的项目费代码一大堆。我接手这个...
分类:
编程语言 时间:
2014-11-04 12:34:51
阅读次数:
191
Underscore.js是一个很精干的库,压缩后只有5.2KB。它提供了几十种函数式编程的方法,弥补了标准库的不足,大大方便了JavaScript的编程。本文仅探讨Underscore.js的两个函数方法 _.throttle 和 _.debounce 的原理、效果和用途。通常的函数(或方法)调用...
分类:
Web程序 时间:
2014-11-03 19:09:42
阅读次数:
371
Lua 是一个扩展式程序设计语言,它被设计成支持通用的过程式编程,并有相关数据描述的设施。 Lua 也能对面向对象编程,函数式编程,数据驱动式编程提供很好的支持。它可以作为一个强大、轻量的脚本语言,供任何需要的程序使用。 Lua 以一个用 clean C 写成的库形式提供。(所谓 Clean C ,...
分类:
其他好文 时间:
2014-11-02 19:30:41
阅读次数:
207
在Thinking in scala (5)----高阶函数* 里面,我们演示了如何把一个函数作为参数传递给另外一个函数。在本文里面,我们来演示函数式编程另外一个重要的特性:返回一个函数。首先来看这么一段代码:code piece 1:def sum(f:Int=>Int):(Int,Int)=>I...
分类:
其他好文 时间:
2014-10-31 11:40:31
阅读次数:
165
使用备忘录模式(Memoization Pattern)提高性能
这个模式说白了,就是将需要进行大量计算的结果缓存起来,然后在下次需要的时候直接取得就好了。因此,底层只需要使用一个Map就够了。
但是需要注意的是,只有一组参数对应得到的是同一个值时,该模式才有用武之地。
在很多算法中,典型的比如分治法,动态规划(Dynamic Programming)等算法中,这个模式运用的十分...
分类:
编程语言 时间:
2014-10-30 10:23:31
阅读次数:
207