Design
- to prepare the plans for (a work to be executed), especially to plan the form and structure of
- a plan produced to show the look and functionality before it is made
Good Design
- separating into things that can be composed
- composing them to solve a problem
- iterative
What Can Be Taken Appart
requirements
separate from:
- wants and needs
- knowns and unknowns
- domain-side and solution-side
- cause and symptom
- unstated
time/order/flow
- queues
- idempotency
- commutative
- transactions
place/participants
“All problems in computer science can be solved by another level of indirection”
Also authors:
- independent development etc
information/mechanism
- information example - set of logged-in users
- mechanism example - set collection class/construct
take apart solutions
- benefits
- tradeoffs
- costs
- problem fit
Why Design?
- comprehension
- coordination
- extension
- reuse
- testing
- efficiency