0

パッケージの階層はどうあるべきですか?

com.xyz.DAO
   IDAO          (interface) 
   IPersonDAO     (interface) 
   IDepartmentDAO  (interface) 

com.xyx.DAO.impl
   PersonDAO extends GenericDAO implements IPersonDAO
   DepartmentDAO extends GenericDAO implements DepartmentDAO
   GenericDAO implements IDAO   (abstract class)
   DAOFactory 

このパッケージ構造は適切ですか?

4

1 に答える 1

3

私は実際にはレイヤー駆動型のパッケージングに反対していますが、代わりに機能駆動型のアプローチをお勧めします。

com.xyz
   IDAO          (interface) 
   GenericDAO implemts IDAO   (abstract class)
   DAOFactory 
com.xyz.person
   IPersonDAO     (interface) 
   PersonDAO extends GenericDAO implements IPersonDAO
com.xyx.department
   IDepartmentDAO  (interface) 
   DepartmentDAO extends GenericDAO implemts DepartmentDAO

その理由は、個人の機能に関連するすべてのクラスを 1 か所にまとめたい場合の方がはるかに多いからです。多くの場合、すべての DAO クラスが必要になることはありません。

UML
(ソース: yuml.me )

于 2012-07-30T16:52:51.720 に答える