Attention: Each example has its own README with more details.
-
Ports and Adapters - Implements the Ports and Adapters pattern. It uses
BCDD::Contract::Interface
to provide an interface from the application's core to other layers. -
Anti-Corruption Layer - Implements the Anti-Corruption Layer pattern. It uses the
BCDD::Contract::Proxy
to define an inteface for a set of adapters, which will be used to translate an external interface (vendors
) to the application's core interface. -
Business Processes - Implements a business process using the
bcdd-result
gem and uses thebcdd-contract
to define its contract. -
Design by Contract - Shows how the
bcdd-contract
can be used to establish pre-conditions, post-conditions, and invariants in a class.