JBoss.orgCommunity Documentation
The diagram below explains the overall structure of the OptaPlanner source code:
The development philosophy includes:
Reuse: The examples are reused as integration tests, stress tests and demo's. The documentation images are reused as slides.
Consistent terminology: Each example has a class App
(executable class), Dao
(Data Access Object) and Panel
(swing UI).
Consistent structure: Each example has the same packages:
domain
, persistence
, app
, solver
and
swingui
.
Real world usefulness: Every feature is used in an example. Most examples are real world use cases with real world constraints, often with real world data.
Automated testing: There are unit tests, integration tests and stress tests. The test coverage is high.
Fail fast with an understandable error message: Invalid states are checked as early as possible.