Separated Interface Pattern

  1. Motivation

      1. Defines an interface in a separate package from its implementation.

  2. Summary

      1. Define an interface in one package but implement it in another.

      2. This way a client that needs the dependency to the interface can be completely unaware of the implementation.

      3. The Separated Interface provides a good plug point for Gateway.

    1. Interface implementation can be provided either at compile time or at Runtime using Plugin.

    2. This is mainly a base pattern for packing of implementation and interface binaries.

  1. References