Learning Objectives:
At the end of this lesson you should be able to:
- Explain how patterns capture common solutions and tradeoffs for recurring problems.
- Explain and give an example of each of the following:
- The Demand-Pull pattern
- The Data-Push (aka Listener or Observer) pattern
- The Singleton pattern
- Do the same for other mini-patterns
- Dependency Injection
- The Delegate or Callback pattern
- The first-time-through switch
Important Dates
- Pair Project 3 Due Next Monday
- Quiz on Module 8-1 & 8-2 next Tuesday
Lecture
- See 8-2 videos on blackboard.
Resources
- Online book chapter: "Thinking Like a Software Architect" by Christian Kästner
- Podcast: "Chris Richardson on Microservice Patterns" - SE Radio
- Counterpoint podcast: "Roberta Arcoverde on Stack Overflow's Monolith"
- On NFS: "Operating Systems, Three Easy Pieces" Chapter 49 by Remzi H. Arpaci-Dusseau and Andrea C. Arpaci-Dusseau
- "What is a REST API?"
- Socket.io - a library for real-time web applications