我没参与过实际的项目开发,最近在用struts2+mybatis3+dwz做一个小项目,涉及到多人开发,遇到了几个问题,请教一下各位大神,希望给与解答。
1.数据库一般是根据需求分析然后涉及到项目的表都先建好的吗,按课本那些理论知识是这样的,但咨询了一下学校旁边的公司,他们好像是按模块来建的,就做到哪块建所需的表。(真正开发是怎么样的,我也不清楚!)
2.项目开发中,实体与实体之间产生的list,一般放在实体下呢还是放在action,比如老师下有很多课程;
(1)放在实体下,为list注数据的时候,多表连接速度会不会很慢吗?
(2)放在action下,那么list不是就很多了,比如,老师下多门课程,课程下多知识点,知识点下多个资源等等;对应的set/get方法也增多,还是把list再抽出来分层?
有什么更好的解决方法?
3.看mldn视频里面dao设计模式,里面涉及到DAO,impl真实实现类,proxy代理实现类,factory工厂类,是不是都只是属于数据层 而已,那服务层是什么概念,服务层=业务层?看马士兵的struts2视频里面BBS2009小项目的服务层好像就是dao的impl真实类?
(或许有些问题可能是我想多了!!!有什么好书籍介绍到这些知识的也告诉小弟!谢谢!)
希望有经验的牛人们,说说你们的经历,给与小弟解答,在此先说谢谢了!!!看到你的问题 我说点吧,你说的需求分析和建表之间的关系,我个人见解以及所经历的,
一般情况下如果你这个项目之间的关联关系比较多,或者所是不可分割的,那么就必须在项目开发前,设计好表的结构,以及拓展性,当然很多情况下,J2EE开发的系统表结构主要分为2部分,一种是基础数据,一种就是数据关系,这样的话,只要你的基础数表设计的足够灵活,你可以再做到具体模块的时候再设计这个模块的表结构,比如我们现在做的人力资源项目,一期的表建完了,基本都是基础数据,现在开始二期了,我们才开始做二期的调研!放入实体里面吧,看楼主后面的疑问推荐你看看《java与模式》吧,超经典的书籍