From a542713455653afb85377efad9791127fe30d0b1 Mon Sep 17 00:00:00 2001 From: Ilkka Seppala Date: Sun, 3 May 2015 23:44:22 +0300 Subject: [PATCH] Update README.md with Flux pattern. --- README.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/README.md b/README.md index 5f22f7ce3..7efd9967c 100644 --- a/README.md +++ b/README.md @@ -71,6 +71,7 @@ Presentation Tier patterns are the top-most level of the application, this is co * [Model-View-Controller](#model-view-controller) * [Model-View-Presenter](#model-view-presenter) +* [Flux](#flux) ### Architectural Patterns @@ -560,6 +561,14 @@ validation and for building to order **Applicability:** Use the Model-View-Controller pattern when * you want to clearly separate the domain data from its user interface representation +## Flux [↑](#list-of-design-patterns) +**Intent:** Flux eschews MVC in favor of a unidirectional data flow. When a user interacts with a view, the view propagates an action through a central dispatcher, to the various stores that hold the application's data and business logic, which updates all of the views that are affected. + +![alt text](https://github.com/iluwatar/java-design-patterns/blob/master/flux/etc/flux.png "Flux") + +**Applicability:** Use the Flux pattern when +* You want to focus on creating explicit and understandable update paths for your application's data, which makes tracing changes during development simpler and makes bugs easier to track down and fix. + # Frequently asked questions