Java中的接口应该驻留在它们自己的目录中吗?或者应该将接口及其实现放在同一目录(包)中?谢谢。
发布于 2010-01-30 01:30:20
接口并不特别需要它们自己的目录。它们应该放在有意义的地方,就像类应该放在有意义的地方一样。在许多情况下,将它们放在同一位置可能是有意义的。
发布于 2010-01-30 01:33:29
我见过的一种模式是将接口放在基目录中,然后将实现放在基目录的子目录中。
例如,接口可能如下所示:
com.myproject.data.dao.CustomerDao (some people do ICustomerDao for interfaces, but some don't like that.)
com.myproject.data.dao.ProductDao
实现可能如下所示:
com.myproject.data.dao.hibernate.HibernateCustomerDao
com.myproject.data.dao.hibernate.HibernateProductDao
com.myproject.data.dao.someotherorm.SomeOtherOrmCustomerDao
etc.
这在某些情况下可能行得通,在另一些情况下可能行不通,但只需要考虑一下。
发布于 2010-01-30 06:15:36
由于已经有一些优点,我只想补充一件事:
在一些项目中,我们甚至将所有接口放入一个子项目(maven模块),并将实现放入另一个子项目中。通过这种方式,可以将接口与实现完全分离,并在项目早期完成接口项目,并将其交付给针对这些接口工作的其他团队。在每个项目中,我们使用相同的包。
一般来说,我会说,你应该分离接口和它们的实现,方法并不重要,只要你是一致的。
https://stackoverflow.com/questions/2163781
复制相似问题