[ Team LiB ] Previous Section Next Section

Interactions

Figure 4.4 portrays what happens when an application invokes an operation on a ConcreteLayer1 instance, which implements the system's highest level abstraction. ConcreteLayer1 implements the operation with custom functionality that makes zero or more calls to operations in a ConcreteLayer2 instance. Likewise, ConcreteLayer2 invokes operations on the next layer, and so on, until the lowest level layer, a ConcreteLayerN instance, calls the physical database driver directly.

Figure 4.4. An application invokes an operation on a ConcreteLayer1 instance, which implements the system's highest level abstraction.

graphics/04fig04.gif

In reality, most layered data access implementations are not quite this simple. For example, it is quite common for a single call to a ConcreteLayerM instance to map to multiple ConcreteLayerM+1 calls.

    [ Team LiB ] Previous Section Next Section