Once you have selected a pattern to apply to your architecture, you should remodel it to fit your scenario. Due to unique nature of every application, you will need to apply diligence during the process of transforming a pattern to fit your scenario. Let's study the types of variations that you need to consider before applying a pattern to your scenario.
A pattern is not just an interconnection of components. The various components used in a pattern play a distinct role. These roles may be different from the requirements of your scenario. Let's consider the well-known observer design pattern, an observer may receive events from multiple sources or a single source. Also, the observer class may play the role of an observer in one relationship and the role of a subject in another. Therefore, you would need to remodel the observer pattern to fit in the scenario that you are trying to address.
The architecture patterns presented later in the book can be remodeled...