万本电子书0元读

万本电子书0元读

顶部广告

Scala与Clojure函数式编程模式 Java虚拟机高效编程电子书

  StackOverflow刚刚发布了2015发者调查,*受程序员喜爱的发语言中,Clojure和Scala分别位列第五和第六。排名**的是Swift,而Swift相比原先的Objective-C*重要的优之一,就是对函数式编程提供了更好的支持。同时,新一代分布式计算系统Spark不仅在实现中选择了Scala,其提供的**编程语言也是Scala。   所有迹象都显示,诞生50多年后,函数式编程却焕发了青春,越来越受到关注和青睐,从边缘地带步了主流,除了Scala和Clojure这些新生函数式编程语言大行其道之外,Java等老牌面向对象的编程语言也始支持匿名函数。函数式编程能简化发过程,尤其是大型知识管理系统应用程序从中受益良多。

售       价:¥

纸质售价:¥33.80购买纸书

36人正在读 | 0人评论 6.2

作       者:(美)贝维拉夸林(Michael Bevilacqua-Linn)

出  版  社:人民邮电出版社

出版时间:2015-05-01

字       数:23.6万

所属分类: 科技 > 计算机/网络 > 程序设计

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(0条)
  • 读书简介
  • 目录
  • 累计评论(0条)
《Scala与Clojure函数式编程模式:Java虚拟机高效编程》向读者展示了如何采用函数式方案来替代或*程度地简化在面向对象编程中所使用的许多常用模式,同时还介绍了一些在函数式世界中广泛使用的模式。主要内容包括:函数式编程简介,Java、Scala、Clojure 三种语言中的Tinyweb 对比,函数式编程范式如何替换面向对象编程模式,几种主要的函数式编程范式。 《Scala与Clojure函数式编程模式:Java虚拟机高效编程》适合所有程序员和对函数式编程感兴趣的读者阅读。<br/>【推荐语】<br/>StackOverflow刚刚发布了2015发者调查,*受程序员喜爱的发语言中,Clojure和Scala分别位列第五和第六。排名**的是Swift,而Swift相比原先的Objective-C*重要的优之一,就是对函数式编程提供了更好的支持。同时,新一代分布式计算系统Spark不仅在实现中选择了Scala,其提供的**编程语言也是Scala。 所有迹象都显示,诞生50多年后,函数式编程却焕发了青春,越来越受到关注和青睐,从边缘地带步了主流,除了Scala和Clojure这些新生函数式编程语言大行其道之外,Java等老牌面向对象的编程语言也始支持匿名函数。函数式编程能简化发过程,尤其是大型知识管理系统应用程序从中受益良多。 《Scala与Clojure函数式编程模式:Java虚拟机高效编程》向读者展示了如何采用函数式方案来替代或简化面向对象编程中使用的诸多通用模式,同时还介绍了一些在函数式世界中广泛使用的模式。如果你是一名Java程序员,希望了解函数式编程能为你的工作效率带来多大的提升,或者你是一名刚刚始使用Scala和Clojure的新手,尚不能玩转函数式的问题解决方案,那么本书就是为你而准备的。 《Scala与Clojure函数式编程模式:Java虚拟机高效编程》所有代码可在http://pragprog.com/titles/mbfpp/source_code免费下载。<br/>【作者】<br/>Michael Bevilacqua-Linn,康卡斯特杰出工程师,现为该公司的新一代服务的电力基础设施构建分布式系统。他五年级的时候就拖着一台Apple II GS到自己班为同学们解释循环和变量。其博客地址为http://mblinn.com/。 赵震一,一线攻城狮,曾涌创业洪流,多年未有所成。现居杭州,就职于*。热爱技术,关注互联网与大数据。InfoQ社区编辑,闲暇译一些技术文章,译有《RESTful Web APIs中文版》。<br/>
目录展开

版权声明

译者序

前言

本书组织结构

模式模板

目的

概述

别名

函数式替代方案

范例代码

讨论

延展阅读

相关模式

为什么选择Scala和Clojure

如何阅读本书

在线资源

致谢

模式和函数式编程

1.1 什么是函数式编程

1.2 模式词汇表

替代面向对象模式

函数式模式介绍

TinyWeb:让模式协同工作

2.1 TinyWeb简介

2.2 采用Java来编写TinyWeb

HttpRequest和HttpResponse

视图和策略模式

控制器和模板方法模式

过滤器和函数式接口

将所有组件拼装到一起

使用TinyWeb

2.3 采用Scala来编写TinyWeb

第一步:更换视图

第二步:对控制器的第一次改造

不可变的HttpRequest和HttpResponse

将组件拼装到一起

使用Scala版本的TinyWeb

2.4 采用Clojure来编写TinyWeb

Clojure简介

Clojure中的控制器

数据map

Clojure版本的视图

将所有组件拼装到一起

使用TinyWeb

替代面向对象模式

简介

模式1 替代函数式接口

目的

概述

别名

函数式替换方案

范例代码:匿名函数

范例代码:具名函数

讨论

延展阅读

相关模式

模式2 替代承载状态的函数式接口

目的

概述

别名

函数式替代方案

简单的代码:闭包

讨论

延展阅读

相关模式

模式3 替代命令模式

目的

概述

别名

函数式替代方案

范例代码:现金出纳机

讨论

延展阅读

相关模式

模式4 替代生成器模式来获得不可变对象

目的

概述

函数式替代方案

范例代码:不可变数据

讨论

延展阅读

相关模式

模式5 替代迭代器模式

目的

概述

别名

函数式替换方案

范例代码:高阶函数

范例代码:序列推导

讨论

延展阅读

相关模式

模式6 替代模板方法模式

目的

概述

函数式替代方案

范例代码:评分报表

讨论

延展阅读

相关模式

模式7 替代策略模式

目的

概述

别名

函数式替代方案

范例代码:人名校验

讨论

延展阅读

相关模式

模式8 替代空对象

目的

概述

函数式替代方案

范例代码:默认值

范例代码:从无到有

讨论

延展阅读

模式9 替代装饰器模式

目的

概述

别名

函数式替代方案

范例代码:日志计算器

延展阅读

相关模式

模式10 替代访问者模式

目的

概述

访问者模式

函数式替代方案

范例代码:可扩展的Person

范例代码:可扩展的几何形状

讨论

延展阅读

相关模式

模式11 替代依赖注入

目的

概述

函数式替代方案

范例代码:收藏的视频

范例代码:测试桩

相关模式

函数式模式

简介

模式12 尾递归模式

目的

概述

范例代码:递归的“人”

讨论

相关模式

模式13 相互递归模式

目的

概述

别名

范例代码:物质的状态

讨论

相关模式

模式14 Filter-Map-Reduce模式

目的

概述

范例代码:折扣计算

讨论

相关模式

模式15 操作链模式

目的

概述

范例代码:函数调用链

范例代码:采用序列推导来完成链式操作

讨论

延展阅读

相关模式

模式16 函数生成器模式

目的

概述

范例代码:通过静态数据生成函数

通过其他函数来生成函数

讨论

相关模式

模式17 记忆模式

目的

概述

范例代码:简单缓存

讨论

模式18 惰性序列模式

目的

概述

范例代码:内建的惰性序列

范例代码:分页的数据响应

讨论

模式19 集中的可变性

目的

概述

范例代码:添加元素到索引序列

范例代码:事件流处理

讨论

模式20 自定义控制流

目的

概述

范例代码:三者选一

范例代码:平均时间

讨论

模式21 领域特定语言

目的

概述

范例代码:为shell而准备的DSL

相关模式

延展阅读

结束语

参考文献

看完了

累计评论(0条) 0个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部