6.3. Coordinator

Intent

Co-ordinate state changes across multiple interdependent components by using a staged notification procedure that maximizes flexibility.

AKA

State-Aware Components, Staged System Transition

6.3.1. Problem

6.3.1.1. Context

You need to synchronize a collective change across many related components in different processes whilst respecting their layering.[]

[] As in the Layers pattern [Buschmann et al., 1996].

6.3.1.2. Summary
  • You need to ensure that the dependencies between components are respected by having a structured system of notifications.

  • You'd like the state change to be completed as quickly as possible.

  • To make the testing and maintenance of your software easier you want the components being notified of the state changes to be loosely coupled both with respect to each other and to the service informing them of the change. In particular, it should be easy to change which components are taking part in the notifications.

  • A transparent means of inter-process communication (IPC) is needed.

6.3.1.3. Description

When synchronizing a collective change across multiple components, you're going to need to perform a series of operations. They might be as wide-ranging as needing to notify components in the system that the free system memory is low or relatively focused, such as informing a collection of UI components in an application that a list has been updated. The more components that need to react to such a change increases the likelihood that there are ...

Get Common Design Patterns for Symbian OS: The Foundations of Smartphone Software now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.