A study of the data synchronization concern in the Observer design pattern

The Observer design pattern of Gamma, Helm, Johnson, and Vlissides [1] inherently contains a crosscutting concern in its method of achieving and maintaining consistency between an object (the Subject) and any other objects that are dependent on the first object's state (the Observers). Aspect-oriented programming can be applied to reduce or eliminate crosscutting concerns, and “aspectized” versions of the Observer design pattern have previously been proposed. Those aspectized patterns, however, contain certain limitations. This paper builds upon the existing literature by presenting a novel aspect-oriented design pattern without the crosscutting concern whose intent is identical to that of the original Observer design pattern.