Skill Up:A Software Developer's Guide to Life and Career
上QQ阅读APP看书,第一时间看更新

An effective study practices case study

Whenever I'm teaching a new programming concept to students, I try to draw a fitting analogy to a real-world concept. This process is called reification and I view it as one of my most important tasks as a teacher.

Let's imagine that you are learning about the MVC (Model, View, Controller) design pattern in software development. You could take the approach of trying to memorize each of the roles of the Model, View, and Controller. However, that strategy wouldn't help you answer questions related to how each of the components work together. And if you memorize quiz questions and answers, you probably will have issues answering anything that you haven't memorized.

The reification example

What if instead of trying to memorize key terms about the MVC pattern you focused on drawing a real-world analogy to the process? My favorite way to understand this type of architecture is comparing it to a restaurant:

  • Model: The model is the chef in the kitchen. In the same way that a chef prepares the meal for customers, the model works directly with the data for the application.
  • Controller: The controller works like a restaurant waiter. In an application, the controller's role is based on taking requests and managing communication between the model and the view. This is much like a waiter who takes customer orders, communicates with the chef, and eventually brings the food out to the table.
  • View: The view is like the table that a customer is sitting at. It doesn't do much besides provide a platform for placing the food on. This is exactly like how the view should operate in an application. If built properly, a view should simply be a place where data is shown to users.

Do you see what we just did? We learned about the MVC design pattern in a way that our minds can actually comprehend. I could fall out of bed and recite back the role of each component of the MVC architecture, not because I spent countless hours trying to memorize them, but because I connected the concept to my real-world experiences.