Starting small, with a RAM-only application
We will do this step by step, in the manner of an agile project, and also in order to try and make sure the project works after each addition. Though this is not a guarantee that all responsibilities will remain independent (coupling is very easy to add, and can be hard to remove), it is the minimum that should be done: programming two responsibilities at the same time would really be begging for trouble...
One of the consequences of this decision is that the very first version of the data referential service for books that we are going to program will not bear any persistence! All data will be hardcoded and only available in memory, which means we will not have to deal with a database for now. This is quite a radical decision, but completely adequate with an agile approach where taking the opinion of the customer (in our case, the DemoEditor
director and representatives) on the way the data is designed and made available by the data referential...