The last pattern in this chapter, object pool, is again not part of the original design patterns book. Object pools as a concept appeared early in the history of OOP, but somehow the Gang of Four didn't see them as a design pattern.
Object pool functions as storage for objects. When we have an object that takes a long time to create and initialize, we sometimes don't want to spend time doing it all over again. Instead of destroying such an object, we can simply put it away in a special container: an object pool. Later, we can just ask the object pool to return the already-created object, an operation that's much faster than creating a new object.
If you have to write a letter (yes, a physical one, on paper!), you need a pen. If there is no pen in the house, you will go to the shop and buy one. Acquiring a new pen is therefore a costly operation. Because...