design-by-contract icon indicating copy to clipboard operation
design-by-contract copied to clipboard

Design-by-Contract Java sample application.

Design by Contract Java Sample application

This application shows how to create a modular Java application using Maven, in respect to "Design by Contract".

To run the application:

  • Import Maven project,
  • Run Main class in application module.

It's an implementation of a simple model:

  • Car: represents an automotive Car,
  • Engine: an internal combustion engine,
  • PowerBand: HorsePower and Torque curves over an RPM range,
  • Wheel: just a wheel,
  • Body: car's body.

Dependencies:

  • Guice,
  • Guava,
  • JUnit,
  • Mockito.

Development technics:

  • Design By Contract,
  • Test Driven Development,
  • Dependency Injection.