Excerpted from DomainDrivenDesignBook
Problem: When a variety of applications have to interoperate, all based on the same abstractions but designed independently, translations between multiple
BoundedContexts limit integration. A
SharedKernel is not feasible for teams that do not work closely together. Duplication and fragmentation raise costs of development and installation, and interoperability becomes very difficult.
Solution: Distill an
AbstractCore of interfaces and interactions and create a framework that allows diverse implementations of those interfaces to be freely substituted. Likewise, allow any application to use those components, so long as it operates strictly through the interfaces of the
AbstractCore.
PluggableComponentFramework is mentioned on: MessagesByTopic