K
kk_oop
Hi. I'm on a project that has several notional Java components. These
components are each made up of one or more JAR files. Our JAR files
are very big, meaning they have a lot of .class files. All the class
files are somewhat cohesive, since they all are about the functionality
of a particular component. However, my sense is that they can stand to
be broken down into more cohesive pieces--more influenced by the Java
packages than by the notional component.
I've been getting pushback on doing this. Folks are saying that a JAR
is just a zip file, so they're structure and interdependencies are not
that big a deal. When I suggest narrowing the cohesiveness of the big
JARs, they respond "Where do you stop? How small do you go?"
Note that with respect to JAR interdependencies, one way to reduce
those is to have bigger JARs. But this seems like an artificial way to
manage dependencies: Less dependencies but less cohesion at the JAR
level.
So my questions are thus:
1. What are some pros and cons to making more granular JAR files?
2. What are some criteria for knowing how big is too big or how small
is too small?
Thanks!
Ken
components are each made up of one or more JAR files. Our JAR files
are very big, meaning they have a lot of .class files. All the class
files are somewhat cohesive, since they all are about the functionality
of a particular component. However, my sense is that they can stand to
be broken down into more cohesive pieces--more influenced by the Java
packages than by the notional component.
I've been getting pushback on doing this. Folks are saying that a JAR
is just a zip file, so they're structure and interdependencies are not
that big a deal. When I suggest narrowing the cohesiveness of the big
JARs, they respond "Where do you stop? How small do you go?"
Note that with respect to JAR interdependencies, one way to reduce
those is to have bigger JARs. But this seems like an artificial way to
manage dependencies: Less dependencies but less cohesion at the JAR
level.
So my questions are thus:
1. What are some pros and cons to making more granular JAR files?
2. What are some criteria for knowing how big is too big or how small
is too small?
Thanks!
Ken