java - 组织小型公用事业功能

标签 java code-organization

经过多年的编程,我们都有一组用作辅助实用程序的小函数,我们希望它是内置的,这样我们就可以在任何项目中使用它,并让更多的人照顾(测试和优化)。

我收集了很多这些函数。我想知道你们是如何组织它们的?你有什么建议吗?

我就是这样做的。我把它放在一个单独的项目(一个 Eclipse 项目)中,比如说“MyUtils”,它被其他项目引用。这是可行的,但是因为 utils 集合变得越来越大,所以 utils 比项目代码大(对于小项目)有点奇怪。要将其发送到 Jar 中,您必须手动选择它们(或全部包含)。有更好的办法吗?

此外,由于 Java 要求所有函数都在一个类中,因此我有大量静态函数(那些不适合 OOP 的函数),例如从文件名读取文本文件的函数。像这样:

 package nawaman.myutil;

public class UText {

    static public String ReadTextFile(String pFileName) {
        ...
    }
    static public String[] ReadLines_fromFile(String pFileName) {
        ...
    }
    static public String ReadLine_fromFile(String pFileName, int pLineNumber) {
        ...
    }
    ...
}

因此,当我需要包含所有功能时,尽管它没有被使用。

有更好的方法吗?

无论如何,如果有特殊的技术,我都会在 Linux 上使用 eclipse,但如果您有使用其他工具的技术,我可以随意分享。

最佳答案

我对待此类实用程序类就像对待我开发的软件外部的其他组件一样:

  • 对于每个组件,我都会创建一个 Eclipse 项目并将其构建为 jar。
  • 类按逻辑分组在包中,例如[域].util.net、[域].util.text 等
  • 在项目中我包含了我需要的依赖项。 Maven 可以在这方面为您提供帮助。

您写道实用程序类有很多静态方法。这是我不常使用的东西。例如,您显示的文本函数可以重构为扩展或实现集合框架中的类和接口(interface)的类或类集。这使得我的代码与其他库的集成变得更加容易。

关于java - 组织小型公用事业功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1618895/

相关文章:

java - 无法通过 Intent 附加传递对象数组

java - JScrollBar 的样式文档?

java - 如何使用 GWTQuery-UI

c# - 如何在类中对枚举、结构和子类进行分组?

python - 如何在使用 IPython 笔记本时管理复杂性?

ruby-on-rails - Ruby on Rails:脚本/my_script与rake my_namespace:my_task

java - 为 CloudFormation 分配凭证(无需构造函数)

java - 从任务中调用任务的替代方案,Gradle

perl - 如何在不牺牲性能的情况下保持良好的代码组织?

C++ 头文件顺序