Upgrade to Pro — share decks privately, control downloads, hide ads and more …

4 Steps to (Architectural) Epiphany

Sponsored · SiteGround - Reliable hosting with speed, security, and support you can count on. →

4 Steps to (Architectural) Epiphany

Slides for talk given at UIKonf in Berlin 2016.

Avatar for Isabel Barrera

Isabel Barrera

May 24, 2016

Other Decks in Technology

Transcript

  1. Goals • to understand common architecture patterns • to identify

    the underlying principles of common architecture patterns • to apply architectural principles strategically based on your unique needs
  2. Architecture is the intentional design of the interaction between the

    components of your application. • defines the information flow between components • gives structure and purpose to your classes • intended to simplify your software
  3. Clean Architecture • “Uncle Bob’s Clean Architecture” - 2014 •

    Use case based design Source: “The Clean Architecture” http://blog.8thlight.com/uncle-bob/2012/08/13/the-clean-architecture.html
  4. VIPER An extension of Clean Architecture VIEW PRESENTER INTERACTOR Business

    Logic Presentation Logic ENTITY Business Objects ROUTER Navigation Controller
  5. Understand Your Needs • What are you building? • How

    does it fit with the rest of the application? • Are you building on an existing app? • Who will be working on this project?
  6. Predict the Future • How might it need to change

    in the future? • How extendible does your module need to be? • How will your project scale complexity increases? • How might your architecture break down in the future?
  7. Identify the MVF • define clear roles for all of

    your layers • how will your layers communicate data? • apply the principles
  8. Establish Your Standards • communicate with your team • define

    a suggested development pattern • practice architectural code reviews • establish a strict organizational structure • be consistent and diligent • document your work
  9. Conclusions • architecture is a process • good architecture is

    a team effort • make good design principles a part of your life