Onion has layers

Long-life systems

Did you known that some systems lifes more than one year?

Long life system

Few facts about our application

Do you remember Bob the Builder?

Bob budowniczy

A lot of us seems to like Bob’s approach.

Architecture Evaluation

Good architectural design is not only a good project. Good project is just the beginning, you must think about  architectural design all the time.  

Systematic work

Architecture Evaluation

Even well working system can be easy break.

Jenga

Architecture Evaluation

Evan weak system can become strong.

Correct system

What we got in our application

In other words:

fragility + no test = disaster!

What pushed us into changes

First steps

Things are starting to gel

System puzzle

Composite and MVP pattern in Javascript

Js modules

  • Every HTML elements can contains other elements - excellent example of composite pattern.
  • Every element has distinct role, however each element is builds with the same parts:
    • We have part responsible for HTML - View
    • We have part responsible for a data - Model
    • We have part responsible for UI logic -Presenter
    • Model is not related with View neither Presenter
  • Every element exist in isolation

What we achieve on the client side?

Dependency Injection & Loose Coupling

Domain Driven Design

First sings of system architecture

Where we are now

Generic onion

Back-end flavour onion

Cebula beckend

Front-end flavour onion

Cebula front-end'owa

Bibliography:

/

#