(Working in Progress)
Gradle project for a simple console calculator, coded in Groovy, initially derived from the example presented in the Diseño Ágil con TDD book by Carlos Blé.
The project showcases the layout and coding discipline proposed by Uncle Bob in his great Clean Architecture model.
The project layout present these modules:
- Domain, is the module containing three layers (shown as packages):
- entity, the business model layer, just entities in this case
- usecase, the use cases layer for this application
- service, the gateway layer with abstract interfaces used by the use cases
- Double, module with implementations for the services layer:
- FactoryService, for creating entities
- ExpressionParserService, for parsing math expressions
- DataService, DAL(Data Access Layer) mocked service
- Detail, the external layers with implementation and adapters to framework specific:
- Features a simple MVP console app using the use cases.
- Core, just some common API to other projects