2023-05-01 - Food Delivery App

main topics

My Mental Model for MVC

MVC is not only Model-View-Controller, it also has a router (and an app.rb to instantiate and run the router.

  1. app.rb: instantiates and run the router
  2. router needs a controller (one or more)
  3. controller
    1. needs a repository
    2. instantiates a view
  4. repository needs a file (to act as a database)

Food Delivery - Day 2


Common question: why are we spreading our software across several different files?

The answer is: software MUST be easy to change.

That's what the term soft in soft-ware means. As opposed to hard-ware.

So, we are creating all this different files so we can make our software easier to change, even if sacrificing the easiness to write. Of course we want easier ways to write software, but making it easier to change is a priority.