Java 设计模式包独立性

Java 设计模式包独立性,java,design-patterns,dependencies,redundancy,Java,Design Patterns,Dependencies,Redundancy,我的问题相当简单,我还没有找到直接的答案。 两个或多个包之间的冗余代码以实现包独立性被认为是好的还是坏的做法,例如,我有两个包,一个用于下载和缓存,另一个用于readfromserver和缓存。虽然缓存数据和机制完全不同,但有一些共同的类/方法 我是否要创建第三个包含commons的包,并在依赖关系中断开包? 或者我应该继续使用两个包,并将导致冗余代码? 最后,为了深入了解设计和依赖性,如果您能给我推荐一些好的材料阅读,我将不胜感激 *请注意:我是用java编写的,通用代码没有那么多我认为您应该

我的问题相当简单,我还没有找到直接的答案。
两个或多个包之间的冗余代码以实现包独立性被认为是好的还是坏的做法,例如,我有两个包,一个用于下载和缓存,另一个用于readfromserver和缓存。虽然缓存数据和机制完全不同,但有一些共同的类/方法

我是否要创建第三个包含commons的包,并在依赖关系中断开包?
或者我应该继续使用两个包,并将导致冗余代码? 最后,为了深入了解设计和依赖性,如果您能给我推荐一些好的材料阅读,我将不胜感激


*请注意:我是用java编写的,通用代码没有那么多

我认为您应该为缓存创建一个接口。如果两个包的缓存不相同,那么公共代码可以在抽象类中,而各个包可以实现其余部分


当然,如果代码是相同的,那么将其剥离到自己的jar中。

很难准确理解您的要求。一般来说,做相同工作的代码应该放在自己的库中,并尽可能地重用。包B和包C依赖于包A比包B和包C相互依赖要好得多。最重要的是,如果你能将接口放在A中,这样你就可以在不干扰B和C的情况下更改实际类。谢谢你的回答,你能给我推荐一个好的阅读材料吗?谢谢你的回答,你能给我推荐一个好的阅读材料吗?