- 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.
- WildFly:New Features
- 零基礎學C++程序設計
- Mastering Objectoriented Python
- vSphere High Performance Cookbook
- 差分進化算法及其高維多目標優化應用
- Visual C
- Corona SDK Mobile Game Development:Beginner's Guide(Second Edition)
- Access 2010數據庫應用技術(第2版)
- 打開Go語言之門:入門、實戰與進階
- Couchbase Essentials
- 移動增值應用開發技術導論
- 從零開始:UI圖標設計與制作(第3版)
- C#面向對象程序設計(第2版)
- 深度實踐KVM:核心技術、管理運維、性能優化與項目實施
- 面向對象程序設計及C++(第3版)