architecture=?
1.: the art or science of building
specifically: the art or practice of designing and building structures and especially habitable ones
Slide 4
Slide 4 text
signal of
culture
( technical knowledg
( project histor8
( bureaucrac8
( developer happiness
Slide 5
Slide 5 text
the age
of chaos
Slide 6
Slide 6 text
= Time x Lines of code
Scale
time to Feature
Slide 7
Slide 7 text
mvp x mvc x mvvm
model
The
every
thing
box
view
Slide 8
Slide 8 text
mvp x mvc x mvvm
(2022, the artist is a machine)
model
The
every
thing
box
view
Slide 9
Slide 9 text
= Time x Lines of code
Scale
time to Feature
Slide 10
Slide 10 text
same problem,
new blog post
4 giant controllers/presenters/vm(
4 fuzzy states & cross-polinatioC
4 “where do we put this”
Slide 11
Slide 11 text
architecture
!= boilerplate
!= brutalism
Slide 12
Slide 12 text
architecture = design
Slide 13
Slide 13 text
good architecture
should be invisible
Slide 14
Slide 14 text
less typing,
less reading,
less thinking
$ noise = cognitive loa
$ code = bug3
$ think laz5
$ simple names
Slide 15
Slide 15 text
No content
Slide 16
Slide 16 text
(2022, the artist is a machine)
Slide 17
Slide 17 text
No content
Slide 18
Slide 18 text
don’t make
it hard to do
the right thing
Slide 19
Slide 19 text
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?
Slide 20
Slide 20 text
No content
Slide 21
Slide 21 text
No content
Slide 22
Slide 22 text
words create
meaning
( compress dat$
( denote responsibilit
( give contex
( depend on context
Slide 23
Slide 23 text
systems,
not siloes
3 focus on the bigger pictur
3 no overgrown controller
3 independent components
Slide 24
Slide 24 text
“harmonika”
architecture
repository
model
view
Presenter
mapper
mapper
usecase
Slide 25
Slide 25 text
“harmonika”
architecture
Slide 26
Slide 26 text
Cart state
Add
Remove
Cart
LoadCart
AddToCart
CartScreen
State
VM
design
the flow
of data
Slide 27
Slide 27 text
rigidity
scalability,
& flexibility
8 handling edge case&
8 enabling new features5
8 making your life easie"
8 use the compiler
Slide 28
Slide 28 text
event-based
systems scale
easier
Slide 29
Slide 29 text
(state, action)
=> state
Slide 30
Slide 30 text
(MEMORY,INSTRUCTION )
=> MEMORY
Slide 31
Slide 31 text
states and
components,
not managers
and controllers
( easily scalabl2
( repeatable, saveabl2
( can easily spli$
( can move in scope
Slide 32
Slide 32 text
Cart
Discounts
Checkout
Slide 33
Slide 33 text
keep it simple,
stupid!
dont overenginee1
hide the pipin&
write for human
explore code