$30 off During Our Annual Pro Sale. View Details »

(de)constructing architecture

Ian Rumac
February 01, 2023

(de)constructing architecture

Ian Rumac

February 01, 2023
Tweet

More Decks by Ian Rumac

Other Decks in Programming

Transcript

  1. (de)constructing

    architecture
    LOTUS

    LAMBDA

    View Slide

  2. who am I?
    I’m Ian
    (2022, the artist is a machine)

    View Slide

  3. architecture=?
    1.: the art or science of building

    specifically: the art or practice of designing and building structures and especially habitable ones


    View Slide

  4. signal of

    culture
    ( technical knowledg
    ( project histor8
    ( bureaucrac8
    ( developer happiness

    View Slide

  5. the age

    of chaos

    View Slide

  6. = Time x Lines of code
    Scale
    time to Feature

    View Slide

  7. mvp x mvc x mvvm
    model
    The

    every

    thing

    box
    view

    View Slide

  8. mvp x mvc x mvvm
    (2022, the artist is a machine)
    model
    The

    every

    thing

    box
    view

    View Slide

  9. = Time x Lines of code
    Scale
    time to Feature

    View Slide

  10. same problem,

    new blog post
    4 giant controllers/presenters/vm(
    4 fuzzy states & cross-polinatioC
    4 “where do we put this”

    View Slide

  11. architecture

    != boilerplate

    != brutalism

    View Slide

  12. architecture = design

    View Slide

  13. good architecture

    should be invisible

    View Slide

  14. less typing,

    less reading,

    less thinking
    $ noise = cognitive loa
    $ code = bug3
    $ think laz5
    $ simple names

    View Slide

  15. View Slide

  16. (2022, the artist is a machine)

    View Slide

  17. View Slide

  18. don’t make

    it hard to do

    the right thing

    View Slide

  19. write to read
    read to write, 2 does it sound good6
    2 is it easy to reason about6
    2 if I read it out loud to my mother

    would she think I’m speaking

    gibberish?

    View Slide

  20. View Slide

  21. View Slide

  22. words create

    meaning
    ( compress dat$
    ( denote responsibilit
    ( give contex
    ( depend on context

    View Slide

  23. systems,

    not siloes
    3 focus on the bigger pictur
    3 no overgrown controller
    3 independent components

    View Slide

  24. “harmonika”

    architecture
    repository
    model
    view

    Presenter
    mapper
    mapper
    usecase

    View Slide

  25. “harmonika”

    architecture

    View Slide

  26. Cart state
    Add

    Remove
    Cart
    LoadCart
    AddToCart
    CartScreen

    State
    VM
    design

    the flow

    of data

    View Slide

  27. rigidity

    scalability,

    & flexibility
    8 handling edge case&
    8 enabling new features5
    8 making your life easie"
    8 use the compiler

    View Slide

  28. event-based

    systems scale

    easier

    View Slide

  29. (state, action)

    => state

    View Slide

  30. (MEMORY,INSTRUCTION )

    => MEMORY

    View Slide

  31. states and

    components,

    not managers

    and controllers
    ( easily scalabl2
    ( repeatable, saveabl2
    ( can easily spli$
    ( can move in scope

    View Slide

  32. Cart
    Discounts
    Checkout

    View Slide

  33. keep it simple,

    stupid!
    dont overenginee1
    hide the pipin&
    write for human
    explore code

    View Slide

  34. questions?
    thank you!

    View Slide