From f9e5f7c91848255781f243c9f89340cbccfc15b7 Mon Sep 17 00:00:00 2001 From: Jack Keys Date: Fri, 16 Mar 2018 12:04:48 -0600 Subject: [PATCH] Fix typo in Part 3.1 --- Part 3 - Taming the sequence/1. Side effects.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Part 3 - Taming the sequence/1. Side effects.md b/Part 3 - Taming the sequence/1. Side effects.md index a4bcdeb..f909d8b 100644 --- a/Part 3 - Taming the sequence/1. Side effects.md +++ b/Part 3 - Taming the sequence/1. Side effects.md @@ -236,7 +236,7 @@ Subscription over Rx is designed in the style of functional programming, but it exists within an object-oriented environment. We also have to protect against object-oriented dangers. Consider this naive implementation for a service that returns an observable. ```java -public class BrakeableService { +public class BreakableService { public BehaviorSubject items = BehaviorSubject.create("Greet"); public void play() { items.onNext("Hello"); @@ -249,7 +249,7 @@ public class BrakeableService { The code above does not prevent a naughty consumer from changing your `items` with one of their own. After that happens, subscriptions done before the change will no longer receive items, because you are not calling `onNext` on the right `Subject` any more. We obviously need to hide access to our `Subject` ```java -public class BrakeableService { +public class BreakableService { private final BehaviorSubject items = BehaviorSubject.create("Greet"); public BehaviorSubject getValues() { @@ -320,7 +320,7 @@ data.subscribe(d -> System.out.println(d.id + ": " + d.name)); 2: Garbage ``` -The first subscriber is the first to be called for each item. Its action is to modify the data. Once the first subscriber is done, the same reference is also passed to the second subscriber, only now the data is changed in a way that was not declared in the producer. A developer needs to have a deep understanding of Rx, Java and their environment in order to reason about the sequence of modifications, and then argue that such code would run according to a plan. It is simpler to avoid mutable state altogether. Observables should be seen as a sequence notifications about resolved events. +The first subscriber is the first to be called for each item. Its action is to modify the data. Once the first subscriber is done, the same reference is also passed to the second subscriber, only now the data is changed in a way that was not declared in the producer. A developer needs to have a deep understanding of Rx, Java and their environment in order to reason about the sequence of modifications, and then argue that such code would run according to a plan. It is simpler to avoid mutable state altogether. Observables should be seen as a sequence of notifications about resolved events.