- Skill Up:A Software Developer's Guide to Life and Career
- Jordan Hudgens
- 355字
- 2021-07-15 17:03:26
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.
- C++程序設計教程
- Java系統分析與架構設計
- OpenShift開發指南(原書第2版)
- x86匯編語言:從實模式到保護模式(第2版)
- Animate CC二維動畫設計與制作(微課版)
- Java EE 7 Development with NetBeans 8
- Python Web數據分析可視化:基于Django框架的開發實戰
- 運用后端技術處理業務邏輯(藍橋杯軟件大賽培訓教材-Java方向)
- 新一代SDN:VMware NSX 網絡原理與實踐
- Internet of Things with ESP8266
- Spring MVC+MyBatis開發從入門到項目實踐(超值版)
- Go語言開發實戰(慕課版)
- 實戰Java高并發程序設計(第2版)
- Arduino電子設計實戰指南:零基礎篇
- JavaScript前端開發基礎教程