与通用DAO接口:通用DAO模式:查找道由
public interface GenericDAO<T extends DataObject, ID extends Serializable> {
T save (T object);
T load (ID id);
void remove (ID id);
Class<T> getPersistedType();
}
您与您喜爱的ORM实现GenericDaoImpl,比如Hibernate来处理负载和持续的通用对象。你最终得到的是UserDao,StoreDao,TransactionDao,PetsDao和另外50个Dao,每个Dao对象的保存,加载和删除都有不同的逻辑。您也可能拥有GenericDao的许多实例,每个实例只需要通用处理的类类型。
我期待实现将处理任何数据对象,这些操作并会选择做正确的道服务。如果此对象有Dao实现,请使用它,否则使用GenericDao。
一种方法是使用DaoFactory if/else语句来检查对象类型,并返回相应的Dao。但是,这将需要您每次添加新的Dao时对工厂进行修改,而不是非常优雅。
什么是更好的实现方式?换一种方式来问, 你如何找到与特定班级相关的Dao?
希望能看到您的实现。 – ltfishie 2012-02-04 17:57:55
您需要等到星期一。 :-) – Scorpion 2012-02-04 19:48:14
你有没有找到那个代码的机会呢? =) – ltfishie 2012-02-11 00:07:26