Gregor Riegler
@gregor_riegler
A change made to the internal structure of software to make it easier to understand and cheaper to modify without changing its observable behavior.
Continuously.
Prior to change (make the change easy).
After change (clean the kitchen).
You can only wear one hat at a time
GildedRose
TripService
But what if i am not allowed to?
premature optimization is the root of all evil
-Donald Knuth
Premature decisions are accidental complication.
Choose an architecture that allows you to defer decisions.
Happy World
Low level details
Dependencies
Happy World
Low Level Details
class OrderService
class OrderDao
class OrderService
interface OrderRepository
class InMemoryOrderRepository
DIP (Depdency Inversion Principle)