【发布时间】:2016-06-13 08:57:07
【问题描述】:
如果我的 java 类“UserClass”依赖于另一个类“UsedClass”(作为库 jar 提供)。如果“UsedClass”有 26 个方法(比如说 A - Z)。但是我的“用户类”只需要来自(假设他们不内部调用除 A 到 D 之外的任何方法)的方法(假设 A 到 D)。当我构建“UserClass”时,是否有任何方法可以防止“UsedClass”中未使用的方法(例如 E 到 Z)被运送到我的应用程序中(这可能会增加执行时可分配/内存消耗的大小)。
【问题讨论】:
-
如果 UsedClass 有 26 个方法,我会先看看,如果 UsedClass 做得太多/有多个责任。如果是这种情况,我会在其自己的类中重构每个职责——比如在 classA 和 classB 中——如果可能的话。 ClassB 仍然可以使用每个对象组合的 classA.A-Z。
-
26 只是任意数字(可能会少得多)。假定 UsedClass 是由其他人开发的(可以说用作库 jar)。在那种情况下,所有未使用的方法是否也随应用程序一起提供?有没有办法避免这种情况。
-
如果它是一个外部库 - 你可能不走运。但也许有人确实知道一些技巧。如果你认识编写这个库的人,并且你发现这个类确实有不止一个责任——也许你可以和他们谈谈。
标签: java oop jar build compilation