jiafu1115 2012-07-29 09:26
浏览 437
已采纳

如何划分package?

我有一个类叫serverUser,它有2个子类,一个是SSH的User,一个是FTP的User, 然后我有2个功能模块,一个是ssh的一些操作,一个是ftp的操作,相应的都有一个包,所以我的疑问是,我是将这3个User放在一个包里面?还是分拆到2个功能点里面?如图,又没有什么科学依据?

类似的还有?比如我有很多异常的定义,是将异常定义统一放一个包里面管理,还是分布到不同的要的模块里面管理。 感觉分布到不同的模块里面的话,符合共同关闭原则,即修改只修改一个包,但是不利于导航。

[img]http://i.stack.imgur.com/vR7fz.jpg[/img]

  • 写回答

4条回答 默认 最新

  • Dead_Knight 2012-07-30 17:05
    关注

    很多时候,这是个人设计的经验积累以及习惯决定的。
    比如说:jdk中的java.security包。这个主要解决安全相关的问题(证书、公钥、私钥、签名等等)。
    现在具体看看异常类
    java.security.AccessControlException类主要捕获访问控制的异常,放到java.security包中。
    再看另一个java.security.cert.CertificateException类主要捕获各种证书问题导致的异常。该类放到java.security.cert包中。
    为什么AccessControlException放到java.security包中,而CertificateException放到子包cert中?
    很明显:证书问题导致的异常仅仅是安全范畴的一个子域,并且很多应用中不会用到证书,所以在package的划分上,类似于分而治之,单独放到cert包中。但是访问控制异常是围绕整个安全领域的,所以放到了安全的顶级package中:java.security。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?