java - 编码实践,项目文件夹结构

标签 java coding-style

我目前正在制作一个简单的经理游戏/模拟,以学习如何处理更大的项目。 就像现在一样,我的所有类都在 Eclipse 创建的/src 文件夹中。

我觉得构建我的项目是个好主意。 我有以下类(class):

  • 匹配
  • 团队赛
  • 播放器
  • 播放器工厂
  • 团队
  • 团队工厂
  • 团队日程
  • 季节

现在,一个想法(可能是正确的做法!)是为匹配创建接口(interface),并让 Match 和 TeamMatch 实现它。我认为合乎逻辑的后续行动是创建一个以接口(interface)命名的文件夹,并在其中包含相关类。

但是 Player 和 PlayerFactory 类呢? Player 拥有玩家的基本信息,如年龄、姓名等。PlayerFactory 根据要求创建 Players。但是为这些类找到一个通用接口(interface)似乎不太可能!与 TeamFactory 相同。也许所有的工厂类都组合在一起?

让我们看看 Team 类。一个团队由球员组成。这两个应该放在一起吗?一个赛季有 TeamSchedule,里面有 TeamMatches,而 TeamMatches 又有两支球队。

这是我正在考虑的一个选项:

  • 来源
    • 匹配
      • 匹配
      • 团队赛
    • 工厂
      • 播放器工厂
      • 团队工厂
    • 联赛
      • 季节
      • 播放器
      • 团队
      • 团队日程

有什么建议、我犯过的明显错误或对这个问题的完全不同的看法吗?

最佳答案

我建议:

创建一个基础包,其名称应类似于 org.managergame

在基础包下创建三个包,分别命名为teammatchplayer

MatchTeamMatch 转到包 match

PlayerPlayerFactory 转到包 player

TeamTeamFactoryTeamSchedule 转到包 team

其他一切都可以在基础包下。

关于java - 编码实践,项目文件夹结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8574270/

相关文章:

java - 我正在尝试将文件路径(4 个文件)和文件元数据存储到 hashmap。如何做到这一点?我正在使用蒂卡API

scala - Intellij Scala 多种导入样式格式设置

ruby-on-rails - 在Rails中订购 Controller Action 的约定是什么?

java - ForkJoinPool 与普通递归

java - 使用 libsvm 评估字符串数组

java - JTextField 拉伸(stretch)以填充 BoxLayout.PAGE_AXIS

java - 非法格式转换问题

javascript - HTML 属性排序

python - 你在 Python 方法和函数中经常看到 CamelCase 吗?

c# - 哪个更好,使用可为 null 或 bool return+out 参数