Hey,
Great you are looking into this Daniel!
So, there are 6 things the client and the repo both
need to access.
These 6 things listed here do not translate into 6 packages. That has to be
considered more carefully.
But the write logic, or at least the maintenance
logic, should not be
bundled with the leaner "read only" package.
I disagree with this being a rule or even something that is extremely
important. In the end, this is not something we care about directly, and
only do to avoid certain pains. I'm highly sceptical that such splitting is
warranted for everything, and suggest one first looks at the interface
segregation issues that plague the data access code.
Doing this well requires holding into account many more factors than have
been outlined, and is probably better done in a more incremental fashion
than trying to tackle all these different aspects at once. This makes me
think asking the question in this format on the list is not the best way
forward. In person discussion focusing on a single component is much better
IMO.
Cheers
--
Jeroen De Dauw -
http://www.bn2vs.com
Software craftsmanship advocate
Evil software architect at Wikimedia Germany
~=[,,_,,]:3