我有一个接口,SomethingDao
和一个实现类,SomethingDaoImpl
。该接口仅包含 11 个方法,但每个方法都需要一个或多个复杂的 SQL 查询。
我将实现类分成几个更小的类,我们称它们为Helper1
, Helper2
, Helper3
, ...HelperN
因为没有更好的名称。有每个的SomethingDaoImpl
实例,并将方法调用路由到每个。
public class SomethingDaoImpl implements SomethingDao {
private Helper1 helper1;
private Helper2 helper2;
private Helper3 helper3;
// ...
private Helper8 helper8;
public List<X> getX(...) {
return helper1.getX();
}
public List<Y> getY(...) {
return helper2.getY();
}
public List<X> getDetailedX(...) {
List<X> ds = getX(...);
helper6.addTo(ds);
helper7.addTo(ds);
helper8.addTo(ds);
return ds;
}
}
这种技术有名字吗?一个复杂的 DAO 有几个“工蜂”为它做所有的工作,而它只是管理它们?
是不是简单的 DAO 管理器模式,其中 Helper1、Helper2、Helper3 是 DAO 对象?我对正确的命名约定感兴趣,所以在这种情况下,我将重命名SomethingDaoImpl
为SomethingDaoManager
,并且Helper
将变为HelperDao
.
我还看到在它的位置使用了名称“服务”,在这种情况下,SomethingDao
接口将被重命名SomethingService
,并且工蜂类将DAO
在其名称的末尾带有。
谢谢...我想我只是在寻找与这种情况相关的命名约定和设计模式。我希望实现尽可能清晰,并且具有暗示我正在使用的模式的名称会非常有帮助。