Hi all,

I would like to start a conversation about introducing some Dependency 
Injection framework (like Spring, Guice, Weld, etc.) in Hive.

IMHO the lack of such framework makes the codebase way less organised, and 
harder to maintain. Moreover, I think it also lead to introducing a huge amount 
of static/utility methods and classes (which is highly discouraged when using 
DI frameworks). When there is no DI framework, utility classes with static 
methods often seem to be the simplest and best way to share code across 
different Hive components/classes, but these constructs are really killing 
testability. For example it is much harder to mock static method calls, than 
mocking service/component instances. Poor testability is a major issue on its 
own, but having a DI framework could have much more benefit, like greater 
flexibility (modularity), better organised services, etc.


I’m interested if there’s any reason why there is no DI in Hive so far. I know 
there’s no way to introduce it everywhere in a single step, but we could start 
using it where it is easy to start, and continuously expand its usage from 
class to class. If there is no strong reason why no to do it, I would like to 
start an open conversation around this topic. (Possible benefits, drawbacks, 
which framework to use, where to introduce it first, etc.)

If anybody is interested in this initiative, please join the conversation, and 
add your thoughts, ideas, doubts, anything.

Thanks,

Laszlo Vegh
veghlac...@gmail.com <mailto:veghlac...@gmail.com>

Reply via email to