Chapter 4. Common Design Patterns in OpenWhisk
This chapter and the next focus on designing OpenWhisk applications. When writing your code, you need to have a good grasp of programming languages and algorithms. In this chapter, we’ll apply many of the classic “Gang of Four” design patterns as described in Design Patterns: Elements of Reusable Object-Oriented Software by Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides (Addison-Wesley). We also cover the ubiquitous Model-View-Controller pattern, although it is not part of this classic collection. We will go over an example for each pattern, and in the process, revamp our contact form from Chapter 2. To illustrate how to build and engineer a real serverless application using a design pattern, we will create a contact form handler.
Figure 4-1 shows the patterns covered in this chapter: Singleton, Facade, Prototype, Strategy, Chain of Responsibility, and Command. We’ll cover a few more patterns in Chapter 5.
Tip
The source code for the examples in this chapter and the next are available in the book’s GitHub repository.
Figure 4-1. A contact form using common design patterns
Built-in Patterns
OpenWhisk allows you to combine actions that implement some of the more common patterns out of the box. These patterns include:
- Singleton
-
Available through triggers and named invocations (1 in Figure 4-1)
- Facade
-
Provided by ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access