跳至主要內容
Async Method Invocation

意图

异步方法调用是一个调用线程在等待任务结果时不会阻塞的模式。模式为多个独立的任务提供并行的处理方式并且通过回调或等到它们全部完成来接收任务结果。

解释

真实世界例子

发射火箭是一项令人激动的事务。任务指挥官发出了发射命令,经过一段不确定的时间后,火箭要么成功发射,要么惨遭失败。

通俗地说

异步方法调用开始任务处理,并在任务完成之前立即返回。 任务处理的结果稍后返回给调用方。

维基百科说


iluwatar大约 3 分钟ConcurrencyReactive
Callback

目的

回调是一部分被当为参数来传递给其他代码的可执行代码,接收方的代码可以在一些方便的时候来调用它。

解释

真实世界例子

我们需要被通知当执行的任务结束时。我们为调用者传递一个回调方法然后等它调用通知我们。

通俗的讲

回调是一个用来传递给调用者的方法,它将在定义的时刻被调用。

维基百科说

在计算机编程中,回调又被称为“稍后调用”函数,可以是任何可执行的代码用来作为参数传递给其他代码;其它代码被期望在给定时间内调用回调方法。


iluwatar大约 1 分钟IdiomReactive
Collection Pipeline

释义

**集合管道(Collection Pipeline)包含函数组合(Function Composition)集合管道(Collection Pipeline)**两组合概念,这是两种函数式编程模式,你可以在代码中结合这两种模式来进行集合迭代。
在函数式编程中,可以通过一系列较小的模块化函数或操作来编排复杂的操作。这一系列函数被称为函数组合。当一个数据集合流经一个函数组合时,它就成为一个集合管道。函数组合和集合管道是函数式编程中经常使用的两种设计模式。

类图

Collection Pipeline

iluwatar小于 1 分钟FunctionalReactive
Combinator

或称

构图模式

目的

功能模式代表了一种以组合功能为中心的图书馆组织风格。
简单地说,有一些类型 T,一些用于构造类型 T 的“原始”值的函数,以及一些可以以各种方式组合类型 T 的值以构建更复杂的类型 T 值的“组合器”。

解释

真实世界例子

在计算机科学中,组合逻辑被用作计算的简化模型,用于可计算性理论和证明理论。 尽管组合逻辑很简单,但它捕获了计算的许多基本特征。

通俗的说

组合器允许从先前定义的“事物”创建新的“事物”。


iluwatar大约 4 分钟IdiomReactive
Observer

Also known as

又被称为

家属,发布订阅模式

目的

定义一种一对多的对象依赖关系这样当一个对象改变状态时,所有依赖它的对象都将自动通知或更新。

解释

真实世界例子

在遥远的土地上生活着霍比特人和兽人的种族。他们都是户外生活的人所以他们密切关注天气的变化。可以说他们不断地关注着天气。

通俗的说

注册成为一个观察者以接收对象状态的改变。


iluwatar大约 3 分钟BehavioralGang Of FourReactive
Producer Consumer

目的

生产者消费者设计模式是一种经典的并发模式,通过将工作与执行工作任务分开来减少生产者与消费者之间的耦合。

类图

Producer Consumer

适用性

在以下情况下使用生产者消费者

  • 通过将工作分成生产和消费两个工作进程来解耦系统
  • 解决生产工作和消费工作需要不同时间的问题

iluwatar小于 1 分钟ConcurrencyReactive