architectural superpowers

Download Architectural superpowers

Post on 15-Apr-2017

34 views

Category:

Software

0 download

Embed Size (px)

TRANSCRIPT

  • #ArchSuperSwift

    Architectural Superpowers

    Jorge D. Ortiz-Fuentes @jdortiz

  • #ArchSuperSwift

    A Canonical Examples Production

  • #ArchSuperSwift

    Agenda

  • #ArchSuperSwift

    Agenda

    Superpowers

  • #ArchSuperSwift

    Agenda

    Superpowers

    Scenarios

  • #ArchSuperSwift

    Agenda

    Superpowers

    Scenarios

    Recap

  • Superpowers

  • #ArchSuperSwift

    Architecture for YouLess repetition

    More reusability

    Easier maintenance

    Less dependent

    More testable

    Faster to change

  • #ArchSuperSwift

    Architecture for YouLess repetition

    More reusability

    Easier maintenance

    Less dependent

    More testable

    Faster to change

    =

  • Pride

  • Super Reusability

  • Single Responsibility Principle

    ViewControllerPresenter

    View ModelModel

  • Single Responsibility Principle

    ViewControllerPresenter

    View ModelModel

    Presentation logic

  • Single Responsibility Principle

    ViewControllerPresenter

    View ModelModel

    Presentation logic

    Data Source

    Data Source

    Data Source

  • Single Responsibility Principle

    ViewControllerPresenter

    View ModelModel

    Presentation logic

    Business Logic

    Data Source

    Data Source

    Data Source

  • Super Independence

  • Dependency Inversion Principle

    High Level Low Level

  • Dependency Inversion Principle

    High Level

  • Dependency Inversion Principle

    High Level Abstraction

  • Dependency Inversion Principle

    High Level Abstraction

  • Dependency Inversion Principle

    High Level Abstraction

    Low Level

  • Super Testability

  • #ArchSuperSwift

    Testability

    Make dependencies explicit

    Make dependency injection easier

    Benefit from other principles

  • Scenarios

  • 1

  • Reuse Logic

  • 2

  • Replace Backend

  • 3

  • Test

  • Takeaways

  • #ArchSuperSwift

    Recap

    Architecture has real, practical benefits

    Learn the principles

    Learn about design patterns

    Apply them gradually

  • Get your superpowers

    too!

  • Thank You!

  • @jdortiz #ArchSuperSwift