我现在在做一个分类信息的一个系统
我按照 <<工厂方法>> 设计模式 抽象的 info类 (GenericInfo,HouseInfo,JobInfo,TradeInfo 都是 Info 类的子类) InfoDAO接口
(GenericInfoDAOImp,HouseInfoDAOImp,JobInfoDAOImp,TradeInfoDAOImp 实现InfoDAO接口)我觉的设计很完美了,可当知道一个infoId 的时候我不知道到底用哪个具体的DAOImp类去
到数据库查找信息呢晕了 晕了,请高手指教更好的设计模式
我按照 <<工厂方法>> 设计模式 抽象的 info类 (GenericInfo,HouseInfo,JobInfo,TradeInfo 都是 Info 类的子类) InfoDAO接口
(GenericInfoDAOImp,HouseInfoDAOImp,JobInfoDAOImp,TradeInfoDAOImp 实现InfoDAO接口)我觉的设计很完美了,可当知道一个infoId 的时候我不知道到底用哪个具体的DAOImp类去
到数据库查找信息呢晕了 晕了,请高手指教更好的设计模式
GenericInfo(一般的信息),HouseInfo(房产类信息),JobInfo(招聘类信息),
TradeInfo(交易类信息) 都是 Info 类的子类 InfoDAO接口
(GenericInfoDAOImp,HouseInfoDAOImp,JobInfoDAOImp,TradeInfoDAOImp 实现InfoDAO接口)当我知道一个具体的信息的 Id 我不知道该调用哪个具体DAOImp去数据库查询他的详细信息
/**
* 抽象的工厂
*/
public interface InfoFactory
{
public Info createNewInfo(Info newInfo);
public Info createInfo(int infoId);
}
/**
* 房产类信息工厂
*/
public class HouseInfoFactory implements InfoFactory
{
public Info createNewInfo(Info newInfo)
{.......... }
public Info createInfo(int infoId)
{..........}
}
/**
* 招聘类信息工厂
*/
public class JobInfoFactoryimplements InfoFactory
{
public Info createNewInfo(Info newInfo);
{.......... }
public Info createInfo(int infoId)
{.......... }
}
...........
我的思路 和 设计是这样的 但家看看设计思路对吗可这样遇到一个问题: 就是在action 控制层 当知道 infoId 时候 不知道到底该用哪个具体
工厂的 createInfo(int infoId) 方法去得到这个具体的信息//或还有其它模式比较好解决这类系统问题吗 有人提到用 <<观察者模式>>