AntiPattern

(Don't do this)

Identity Map Cache

Each Type has Models and Collections

Facebook One Way Dataflow

F8 Conference, 2014 :

"MVC" / 2 Way Binding

  • Updates are uncontrolled - come from anywhere
  • Updates can retrigger each other

Cascade One Way Dataflow

Cascade Online Get

              sequenceDiagram
              Application->>+Cascade: First Request
              Cascade->>+MemoryCache: Read (fails)
              Cascade->>+FileCache: Read (fails)
              Cascade->>+Origin: Read
              Origin->>+Server: Read (success)
              Server->>+Origin: 
              Origin->>+Cascade: 
              Cascade->>+FileCache: Write
              Cascade->>+MemoryCache: Write
              Cascade->>+Application: 
              Application->>+Cascade: Second Request
              Cascade->>+MemoryCache: 
              MemoryCache->>+Cascade: 
              Cascade->>+Application: 
              Application->>+Cascade: Third Request after App Restart
              Cascade->>+MemoryCache: 
              Cascade->>+FileCache: 
              FileCache->>+Cascade: 
              Cascade->>+MemoryCache: 
              Cascade->>+Application: 
              %% comment helps make it be recognised as mermaid
            

Cascade Online Update

              sequenceDiagram
              participant Application
              participant Cascade
              participant MemoryCache
              participant FileCache
              participant Origin
              participant Server
              Application->>+Cascade: 
              Cascade->>+Origin: Write
              Origin->>+Server: Write
              Server->>+Origin: 
              Origin->>+Cascade: Whole Updated Record 
              Cascade->>+FileCache: Write
              Cascade->>+MemoryCache: Write
              Cascade->>+Application: 
              %% comment helps make it be recognised as mermaid
            

Going Offline, Returning Online