ning/killbill — comment on commit 848d61f2efa2e158c7f1a43ec6dee89617700416
File: entitlement/src/main/java/com/ning/billing/entitlement/api/user/Subscription.java line 101
By sbrossie:

Hum... i have some ideas on how the discussions we had yesterday leaked. Maybe next time you should join our code review, that would make the process simpler, and hopefully we would get some rationale behind some of the preconceived ideas we heard yesterday. Anyway, back to your question:

InjectorMagic is certainly not the best piece of that code, i have to admit-- assuming there is any to start with. The only reason why it exists today is because we created an 'obect API' where the Subscription object which is not injected by guice (and can't be unless i get a handle on the injector itself) has methods to change its state. I understand this is not part of the ideas in the Ning's church where the pattern relies on immutable dumb objects and a singleton injected manager that performs the operations.

The funny part is that all younger developers believe strongly this is the way to do -- even if they don't know why-- while older people (to not say more experienced developers) like Martin, Jeff and I and who have been through many different churches already don't necessarily agree this is THE approach. But i am still waiting on some good rationale on why this is THE way besides a stylistic issue that is really 'vogue' right now.

That being said, after lengthy discussions which lead nowhere yesterday-- like any church conflict to keep on my analogy-- we decided to change some of that just to get some peace if mind. So this is on my radar to remove.