Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenDocCN
apachecn-java-zh
提交
265af96f
A
apachecn-java-zh
项目概览
OpenDocCN
/
apachecn-java-zh
8 个月 前同步成功
通知
5
Star
53
Fork
13
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
A
apachecn-java-zh
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
未验证
提交
265af96f
编写于
7月 11, 2022
作者:
布
布客飞龙
提交者:
GitHub
7月 11, 2022
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Update 5.md
上级
e70b4ebb
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
9 addition
and
1 deletion
+9
-1
docs/design-pattern-best-prac-java/5.md
docs/design-pattern-best-prac-java/5.md
+9
-1
未找到文件。
docs/design-pattern-best-prac-java/5.md
浏览文件 @
265af96f
# 五、函数式模式
> 原文:[Design Patterns and Best Practices in Java](https://libgen.rs/book/index.php?md5=096AE07A3FFC0E5B9926B8DE68424560)
>
> 协议:[CC BY-NC-SA 4.0](http://creativecommons.org/licenses/by-nc-sa/4.0/)
>
> 贡献者:[飞龙](https://github.com/wizardforcel)
>
> 本文来自[【ApacheCN Java 译文集】](https://github.com/apachecn/apachecn-java-zh),采用[译后编辑(MTPE)](https://cn.bing.com/search?q=%E8%AF%91%E5%90%8E%E7%BC%96%E8%BE%91)流程来尽可能提升效率。
本章的目的是学习函数模式,以及通过引入函数式编程风格(现在在最重要的编程语言中是可能的)对传统模式所做的更改。Java8 引入了一些函数式特性,增加了一个新的抽象级别,影响了我们编写一些面向对象设计模式的方式,甚至使其中一些模式变得无关紧要。在本章中,我们将看到设计模式是如何被新的语言特性所改变,甚至取代的。在他的论文《动态语言中的设计模式》中,Peter Norvig 注意到 23 种设计模式中有 16 种更简单,或者被动态语言中现有的语言特征所取代,比如 Dylan。全文见
[
这个页面
](
http://norvig.com/design-patterns/
)
。在这一章中,我们将看到什么可以被取代,以及新出现的模式是怎样和怎样的。正如 peternorvig 在他的论文中所说的,
*很久以前,子程序调用只是一种模式*
,随着语言的发展,这些模式会发生变化或被替换。
为了运行本章中的代码,我们使用了 Java 中可用的 JShell REPL 工具,可以从 Windows 中的
`$JAVA_HOME/bin/jshell on Linux or %JAVA_HOME%/bin/jshell.exe`
访问该工具。
...
...
@@ -805,4 +813,4 @@ publicstaticvoid main(String[] args)
在本章中,我们了解了函数式编程的含义、最新 Java 版本提供的特性,以及它们是如何改变一些现有的 GOF 模式的。我们还使用了一些函数式编程设计模式。
在下一章中,我们将深入到反应式世界,学习如何使用 RxJava 创建响应式应用。
\ No newline at end of file
在下一章中,我们将深入到反应式世界,学习如何使用 RxJava 创建响应式应用。
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录