[aerogear-dev] [Android] Interfaces on Pipeline, Datamanager, and Authenticator

Douglas Campos qmx at qmx.me
Thu Nov 8 23:04:20 EST 2012


On Nov 9, 2012, at 1:46 AM, Summers Pittman wrote:

> (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)
I'm not sure if users really want to test the Pipeline - it probably makes more sense for them to just start testing from the Pipes - which have interfaces already

> Better practice (is Josh Bloch is to be belived)
meh, he is right 99% of the time, not always, and I disagree in this case

> 
> 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.
This sounds like the right compromise for me

> 
> Thoughts from the list?
> _______________________________________________
> aerogear-dev mailing list
> aerogear-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/aerogear-dev

-- qmx




More information about the aerogear-dev mailing list