gpt4 book ai didi

java - 想要将程序作为框架分发,但担心依赖项的数量

转载 作者:行者123 更新时间:2023-12-02 06:24:30 24 4
gpt4 key购买 nike

我现在有一个项目跨越了框架和可插入程序的界限,我担心这个程序所依赖的依赖项数量之多。

目前我有这个:

  • Commons lang - 主要用于字符串实用程序和数组实用程序
  • slf4j - 日志门面
  • slf4j-log4j - 将日志记录重定向到 GUI 的 log4j(注意 GUI 是一个模块)
  • log4j - 出于上述原因的 Log4j 本身
  • jpersist/EJP - 数据库抽象层
  • PircBot - IRC 层
  • JDBC 驱动程序
  • Mozilla Rhino - 用于 Javascript 插件

总共有 7 个,即使没有 GUI,除非您不想要任何日志记录。对于试图将其伪装成“轻量级”的我来说,这似乎太过分了。

所以我的问题:

  1. 我应该限制我使用的框架数量吗?
  2. 我应该如何分发它?用于其他程序的独立 jar 和用于单个程序的大型组合 jar 可以吗?
  3. 这么多依赖关系正常吗?

最佳答案

看起来确实很多。不管指定大量库的问题如何,您都在限制您的用户。他们可以在项目中使用的第三方库更改为您指定的库。

你能指定与实现无关的库吗?例如 commons-logging ,这将在幕后委托(delegate)给现有的日志记录框架。如果您的用户已经在使用 log4j 以外的东西,那么这将允许他们继续使用而无需切换。

其次,您的框架是否做得太多?与其提供聊天实现,不如提供合适的 API,以便客户端可以插入他们自己的聊天/通知机制。这样你的框架就变得更加通用,并且(再次)你的客户可以选择什么/如何实现功能。丰富的客户端 API 将为您的用户提供更多选择并扩展您的框架的实用性。

关于java - 想要将程序作为框架分发,但担心依赖项的数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3176494/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com