论坛首页 Java企业应用论坛

关于pojo、dao、service的困惑

浏览 42542 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2006-10-24  
用ssh框架开发有一阵了,但还是对怎样定义pojo、dao、service这三层不太理解。只是模仿着老员工,对每个数据库表建立一个pojo,一个映射文件,一个dao(接口),一个daoImpl(实现),一个service(接口),一个service(实现),这样数据库中如果有五张表,就会相应建立30个文件,感觉很是麻烦。有时pojo上面还有抽象类,那就是35个文件。所以我想问一下:

1、可不可以不一一对应呢?比如多个pojo对应一个dao,一个service?

2、service层作用是什么呢?直接用dao层不行么?(因为我的service只是简单调用dao层的函数,所以感觉没用)

3、定义pojo时定义的抽象pojo是什么作用啊?

希望路过的近来交流一下,扫清许多像我一样程序员的困惑。
   发表时间:2006-10-24  
顶一下!!! 困惑中!!!!
0 请登录后投票
   发表时间:2006-10-24  
这种设计是基于PEAA 的service layer模式,和spring的面向接口编程思想,
也有用过,但这样做,没有体会到灵活性,却带来了开发维护的难度,所以不该抽象
的接口就算了吧。

除非这个系统将来要大改,不然除了增加系统的复杂度,没什么好处。

1 请登录后投票
   发表时间:2006-10-24  
开始就错了,不是根据数据库表建立你的Domain Model。
看来你们的设计还是面向数据库的。现在oo的做法应该是面向对象进行设计,使用UML工具设计出类图及类之间的关系,此时你甚至可以不需要关系数据库表怎么设计,利用Hibernate等ORM 中间件完成繁琐累人的数据库操作
0 请登录后投票
   发表时间:2006-10-24  
power1128 写道
开始就错了,不是根据数据库表建立你的Domain Model。
看来你们的设计还是面向数据库的。现在oo的做法应该是面向对象进行设计,使用UML工具设计出类图及类之间的关系,此时你甚至可以不需要关系数据库表怎么设计,利用Hibernate等ORM 中间件完成繁琐累人的数据库操作

你这是MDD啊? 可为什么说开始是错的?就你对呀。
0 请登录后投票
   发表时间:2006-10-24  
我只做过几个项目,感觉数据库建模和域建模差不多,因为一个对象对应一个数据库表,没有体会到太大的差别啊,这是怎么回事?什么时候才有区别啊
0 请登录后投票
   发表时间:2006-10-24  
这只是一种设计方法。
可以了解其他的设计模型:http://www.iteye.com/topic/17579
0 请登录后投票
   发表时间:2006-10-24  
这种开发方式是许多人的经验总结,从项目实践中得来的,我们没有体会到里面的方便与奥妙也许只是因为我们的项目经验太少,对设计分析的来龙去脉没有那么深的体会吧!
0 请登录后投票
   发表时间:2006-10-24  
各种模式都有它适用的环境,如果你的环境比较简单,可以看看ss超懒的模式。

http://www.springside.org.cn

ss的思路是从简开始,按需内部重构。
0 请登录后投票
   发表时间:2006-10-24  
关注中!个人感觉确实应该先进行对象设计,然后再来进行数据库设计,利用Hibernate得ORM机制来实现。不过对于一个DaoInterface对应一个DaoImp这种实现方式感到不理解,这样增加了很大得代码量,难道是一个DaoInterface对应多个DaoImp?希望有人能解答这个问题
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics