使用Lambda表达式进行设计
在前面的几篇文章中,我们已经见识到了Lambda表达式是如何让代码变的更加紧凑和简洁的。
这一篇文章主要会介绍Lambda表达式如何改变程序的设计,如何让程序变的更加轻量级和简洁。如何让接口的使用变得更加流畅和直观。
使用Lambda表达式来实现策略模式
假设现在有一个Asset类型是这样的:
public class Asset {
...
分类:
编程语言 时间:
2014-10-25 07:03:55
阅读次数:
350
MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算。概念"Map(映射)"和"Reduce(归约)",和他们的主要思想,都是从函数式编程语言里借来的,还有从矢量编程语言里借来的特性。他极大地方便了编程人员在不会分布式并行编程的情况下,将自己的程序运行在分布式系统上。 当前的软...
分类:
其他好文 时间:
2014-10-24 20:20:24
阅读次数:
312
Win32:Win32函数式编程,窗口体系,消息统一传入反应函数处理通过分析MFC的源代码,我们可以得到WM_COMMAND的消息响应顺序如下:多文档框架中,有打开的文档时:视图>文档>子框架窗口>应用程序>主框架窗口多文档框架在没有打开文档时,应用程序和主框架窗口的顺序..
分类:
编程语言 时间:
2014-10-24 16:52:53
阅读次数:
307
列举目录中的所有文件
首先给出代码:
Files.list(Paths.get(".")).forEach(System.out::println);
Files.list方法得到的是一个Stream类型的对象,它代表了目标路径下所有的文件。如果只想获取目标路径下的所有目录文件:
Files.list(Paths.get("."))
.filter(Files...
分类:
编程语言 时间:
2014-10-24 11:00:57
阅读次数:
163
本规范是针对javascript函数式编程风格与公司严重依赖于jQuery进行编码的现实制定出来。禁止使用eval,with与caller(ecma262 v5 的use strict要求)。eval只允许在加密时机器生成。声明变量必须加上 var 关键字,除了在for(;;)循环等语句中,原则上不...
分类:
编程语言 时间:
2014-10-24 09:15:27
阅读次数:
213
前言: 程序设计语言主要分为两种 1、基于存储原理(冯*诺依曼体系)的命令式编程语言,如C/C++、Java、Object Pascal(DELPHI)。 2、根据阿隆左*丘琦的lambda演算而产生的函数式编程语言,如Lisp、Scheme。 ...
分类:
编程语言 时间:
2014-10-23 15:40:58
阅读次数:
280
遍历一个字符串
在Java 8中,CharSequence接口新添加了一个方法叫做chars(),方法的签名是这个样子的:
public default IntStream chars()
default关键字修饰的接口方法是Java 8中新添加的特性,目的是向接口中添加已经实现的方法。chars()方法返回了一个IntStream类型,所以chars()实际上是为所有实现...
分类:
编程语言 时间:
2014-10-23 09:28:02
阅读次数:
797
一直想写一个整体的Objective-C的帖子,总是没时间,所以我想把大知识变小,小知识变更小,每天写一点点,来把自己学习的东西与大家分享,好了废话不多说。
1、一门动态的语言OC
Object-C(以下简称OC)是一门面向对象语言,这恐怕学过编程的人都知道。但是OC跟其他语言相比,显得格格不入。因为它是一门消息结构语言,而非函数调用。所以语法上显得很怪,通常是这样:...
分类:
移动开发 时间:
2014-10-23 00:08:26
阅读次数:
227
说说我自己的背景吧,我是个半吊子的程序员,做任何事情喜欢比较了解然后再尝试,我接触过很多语言,大多数都把它当成工具来使用我现在的工作大部分主要在于数据挖掘与机器学习方面,也学习web开发,我第一个拿来工作的语言是python,我是从那里得知函数式编程的概念的说起lisp据说python就是模仿的li...
分类:
编程语言 时间:
2014-10-22 23:35:37
阅读次数:
222
Lambda在集合中的使用
列表的遍历
提起对于集合的遍历,恐怕下面的这种方式已经是一种思维定式了吧:
final ListString> friends = Arrays.asList("Brian", "Nate", "Neal", "Raju", "Sara", "Scott");
for(int i = 0; i friends.size(); i++) {
...
分类:
编程语言 时间:
2014-10-21 10:24:46
阅读次数:
405