(See
https://github.com/aerogear/aerogear-android/pull/33)[Yes it isn't coarsely
separated, it is just a bunch of proof of concept stuff]
Right now in ag-android Pipeline and DataManager are final and concrete. Authenticator is
an interface implemented by the final class DefaultAuthenticator. I have coded up a
proposal where I've (among other things) split the other classes up.
Pros for Interface + final class:
Easier mocking for unit tests (thinking about users' unit tests not ours)
Better practice (is Josh Bloch is to be belived)
Cons:
Pipeline et all are entry point classes and we shouldn't encourage our users to write
their own
We can make Pipeline et all non-final to allow users to mock them for their tests.
Thoughts from the list?