Which of the following is a design pattern?