(de)constructingarchitectureLOTUSLAMBDA
View Slide
who am I?I’m Ian(2022, the artist is a machine)
architecture=?1.: the art or science of buildingspecifically: the art or practice of designing and building structures and especially habitable ones
signal of culture( technical knowledg( project histor8( bureaucrac8( developer happiness
the ageof chaos
= Time x Lines of codeScaletime to Feature
mvp x mvc x mvvmmodelTheeverythingboxview
mvp x mvc x mvvm(2022, the artist is a machine)modelTheeverythingboxview
same problem,new blog post4 giant controllers/presenters/vm(4 fuzzy states & cross-polinatioC4 “where do we put this”
architecture!= boilerplate!= brutalism
architecture = design
good architectureshould be invisible
less typing,less reading,less thinking$ noise = cognitive loa$ code = bug3$ think laz5$ simple names
(2022, the artist is a machine)
don’t makeit hard to do the right thing
write to readread to write, 2 does it sound good62 is it easy to reason about62 if I read it out loud to my mother would she think I’m speaking gibberish?
words createmeaning( compress dat$( denote responsibilit( give contex( depend on context
systems,not siloes3 focus on the bigger pictur3 no overgrown controller3 independent components
“harmonika”architecturerepositorymodelviewPresentermappermapperusecase
“harmonika”architecture
Cart stateAddRemoveCartLoadCartAddToCartCartScreenStateVMdesignthe flowof data
rigidity scalability,& flexibility8 handling edge case&8 enabling new features58 making your life easie"8 use the compiler
event-basedsystems scaleeasier
(state, action)=> state
(MEMORY,INSTRUCTION )=> MEMORY
states andcomponents,not managersand controllers( easily scalabl2( repeatable, saveabl2( can easily spli$( can move in scope
CartDiscountsCheckout
keep it simple,stupid! dont overenginee1 hide the pipin& write for human explore code
questions?thank you!