Module Facade

by kirk knoernschild

Statement

Create a facade serving as a coarse-grained entry point to the modules underlying implementation.

Description

Often times, configuring fine-grained modules can be a burden, especially when multiple fine-grained modules are typically used in conjunction but forces prevent module designers from combining the fine-grained module into a single coarse-grained entity. In these situations, a module facade can be used to expose a subset of the functionality contained within a group of fine-grained modules. A module facade allows a group of fine-grained modules to operate as a coarse-grained module. Figure 1 illustrates a Module Facade.

ModuleFacade

Figure 1: Module Facade

Implementation Variations

The module facade can configure the fine-grained modules.

Module facade can also act as a mediator to help break dependencies between modules. This is quite similar to escalation.

Consequences

All fine-grained modules must be deployed whenever the coarse-grained module is deployed.

Sample Code

Wrapping Up