1

我有类对象ServerUser。serverUser 被视为共享部分,它有两个子类SSHUser 和 FTPUser。SSHUser 只支持 SSH 包,FtpUser 只支持 FTP 包。那么我应该将子类(ftpUser 和 sshUser)与 serverUser 放在同一个包中还是根据功能放在不同的包中?有什么规则吗?

从我的角度来看,我认为应该将 sshUser 和 ftpUser 放置到 ssh 模块和 ftp 模块,因为子类不被共享,但它真的很难导航。放在一个包中更容易导航并保持代码更简单?那么哪个更好呢?有什么规律吗?

这个问题与 hwo 类似,在子类不共享时拆分异常类及其子类的包?都在一个包装或其他样式?

4

1 回答 1

4

这最终取决于您 - 在如何将代码构建成包方面,您有很大的灵活性。

需要考虑的一些选项:

  • 将相关的类打包在一起——即将不同类型的用户放在同一个包中。如果您将所有不同类型的用户类放在一起,它可能会使您的源代码树更简单、更容易导航,例如,如果您正在重构用户处理功能。
  • 将独立的功能打包在一起- 即将所有 SSH 相关的类(包括 SshUser)保存在server.ssh包中。通过这种方式,您server.ssh几乎可以将其视为包含所有 SSH 特定功能的独立模块。

没有重要的技术理由偏爱其中之一,因此这实际上取决于您认为哪一个将使您的代码库更易于管理和更易于维护。

于 2012-07-28T05:42:56.690 回答