Using the BLoC pattern
When using the BLoC pattern, everything is a stream of events. A BLoC (which stands for Business Logic Component) is a layer between any source of data and the user interface that will consume the data.
Examples of sources include HTTP data retrieved from a web service, or JSON received from a database.
The BLoC receives streams of data from the source, processes it as required by your business logic, and returns streams of data to its subscribers.
A simple diagram of the role of a BLoC is shown in Figure 11.10:
Figure 10.10: The BLoC pattern
The main reason for using BLoCs is to separate the concern of the business logic of your app from the presentation that occurs with your widgets, and it is especially useful when your apps become more complex and need to share state in several different places. This makes it easier to reuse your code in different parts of your application, or even in different apps. Also, as BLoCs are completely...