![]() |
![]() |
This is a project to develop code for manipulating basic concepts in the recurring domains of time and money.
Use this open source Java code library to make key low-level domain logic more expressive, more maintainable, and less error-prone. Stop wasting time reinventing this particular wheel. Designed and implemented by Domain Language associates and other experts in DDD to illustrate the technique on a fine-grained, widely needed subdomain.
For a quick guide and some simple examples, seeGettingStarted.
The design principles followed here are explained in Part III of the book Domain-Driven Design. Read the credits here and release notes here. For some of the conceptual workings, you can read this explanation of TimeAlgebra and this explanation of IntervalMath.
In addition to the unit tests, the "example.*" packages found in the "examples/src" folder provide runnable code doing things typical of many applications. (Much more of that in future releases.) Usage is also discussed briefly below. Here you can read answers to some FrequentlyAskedQuestions.
This software is provided under the very permissive MIT Licence (see licence.txt), so no one should be impeded from trying it.
Gregor Hohpe observes that 'March is Not a Number'.
Martin Fowler discusses 'fluent' interfaces.
x