Skip to content
forked from boeledi/blocs

Reactive Programming - BLoC - Practical Use Cases and Patterns

License

Notifications You must be signed in to change notification settings

ligaoliang/blocs

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Reactive Programming - BLoC - Practical Use Cases and Patterns

Source code of the article available on didierboelens.com

This article introduces some practical use cases of the BLoC pattern:

  • Event-State

    Sometimes, handling a series of activities which might be sequential or parallel, long or short, synchronous or asynchronous and which could also lead to various results, can become extremely hard to program. You might also require to update the display along with the progress or depending on the states.

    This first use case is aimed at making it easier to handle such situation.

  • Form Validation

    How to make it easier to automate a Form fields content validation and Widgets accessibility, based on Business Rules?

    This second use case shows how to achieve this, separating the business rules from the View.

    As a bonus, it also shows how to answer a question very frequently asked: "how to check if a password and retyped password match?".

  • Part Of

    This last use case explains how easy it is, thanks to the BLoC pattern, to make an isolated Widget behavior adapt based on its presence in a set.

    The source code, through a embryo of a Shopping Basket application, shows how a Widget knows it is part of the Shopping Basket or not, and how it can adapt its behavior accordingly.


Updated (20 DEC 2018)

  • Code clean up

  • Additional version of the "DecisionPage" (see decision_page_no_business.dart) This version of the page does not contain any Business Logic but externalizes the Business Logic via the [DecisionStateTransform] which extends the [BlocStateTransformBase]

About

Reactive Programming - BLoC - Practical Use Cases and Patterns

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Dart 97.9%
  • Objective-C 1.4%
  • Java 0.7%