发帖    主题    评论    推荐    标签    作者    订阅    查搜    注册   登陆   关注
 
面向对象 设计模式 领域驱动设计 企业架构 框架 开发教程 微服务 大数据 扩展性 并发编程 事件驱动 分布式 SOA
1 2 下一页 Go 2

请教一个对Dao调用的封装的设计

    
2008-03-23 12:38
赞助商链接

我在项目中碰到下面的一个情况:
有一个父类是BaseMember,这是一个Domain,然后分别有三个子类,为HouseMember, AgentMember, CommonMember,都继承自BaseMember.

这三个子类分别对应HouseMemberDao, AgentMemberDao, CommonMemberDao.每个dao中都有对应的save方法,分别为saveHouseMember();saveAgentMember()和saveCommonMember();

而在前台页面中,是通过一个下拉菜单确定注册的用户是属于哪一种Member.而我想实现的就是,如何设计,可以实现:
我把一个对象传进去,就可以自动寻找正确的Dao来调用.

谢谢!

2008-03-24 12:08

那Dao就不要做三个,只要做一个BaseMemberDao就可以,使用Hibernate的sub-class配置自动实现。

2008-03-24 13:52

 这就是问题的所在,因为这部分存在的问题是,我没有权力改变Dao的实现.
谢谢banq老师.

2008-03-24 15:29

如果只有一个MemberDao,而不设计三个Dao,那么,用一个方法getMemberList(),里面使用loadAll(Member.class)获取所有Member.而有没有什么办法知道List中哪些对象是属于哪些子类?

2008-03-24 19:11

MemberDao是针对抽象类型Member的操作的,没有职责去知道里面哪些对象是属于哪些子类,这个是外部调用者的职责,它调用你的方法后再去做判断。在外部可以用instanceof作判断

2Go 1 2 下一页

赞助商链接

赞助商链接

返回顶部

移动版 关于本站 使用帮助 联系管理员 最佳分辨率1366x768
OpenSource JIVEJDON Powered by JdonFramework Code © 2002-20 jdon.com