明日何其多4229874
2016-12-15 22:05
本人是个初学者,只是刚在JAVA的路上入门,之前刚在别的网站上学过DAO层(数据层)与Service层(业务层)的JDBC使用:
定义一个DatabaseConnection类负责数据库的连接与关闭;
定义Goodess类;
3.定义一个公用的接口(IDAO)里面定义CRUD的方法;
4.定义一个DAO层接口(IGoddessDAO)来继承IDAO,这个接口作为数据层的操作标准,最终交由业务层调用;
5.定义一个子类(GoddessDAOImpl)实现这个DAO层的接口;
6.定义一个工厂类(DAOFactory)来获取这个子类的对象;
7.接下来是业务层,Service层也定义有一个有CRUD方法的接口(IGoddessService);
8.定义一个业务层子类(GoddessServiceImpl)实现这个接口,这个子类很像这个老师讲的Action层的类,两者的意思和实现方式基本是一样的,都是通过这个类来调用DAO层的方法;
9.定义一个Service层的工厂类(ServiceFactory)获取子类对象。
10.最后测试时只需要通过Service层工厂类返回的对象调用Service层的方法即可,完全不用管DAO层方法的具体实现。
我觉得这种设计逻辑很好理解,修改也挺简单的。由于本人还没有学习过框架,因此不知道MVC框架是不是就是像这个老师讲的这样,我所说的这种DAO层与Service层也可以使用在MVC框架里吗?这个Action层到底与Service层有什么区别呢?它的功能是什么?我所说的这种是有实际应用价值的吗?希望有老师和前辈来解答下本人的疑惑,不胜感谢!
你学完JavaEE就知道了,就是JavaEE的三个框架而已。
dao层和service层都可以用在MVC里面,这么用是为了降低耦合性和提高代码的重用性,在框架中方便通过调用接口去执行子类的具体方法来实现具体的内容,Action和Service的区别在于Service定义基本方法,而Action是调用基本方法去实现具体行为。举个例子来说比如你吃饭,在Service中可以定义是用筷子和用叉子,Action中是具体的去吃中餐还是西餐,这时候就需要在Service中选择使用哪种基本方法,Service的代码复用性比较高。其实最好的例子你去学一下MVC的框架比如Struts,Struts2看了之后你就会很好地理解了为什么这么分了,不是这么做也可以完成任务,但是这么分在项目中用起来真的很方便。我是个学生也正在学,有什么不对的地方,你来打我啊(==)/
JDBC之 “ 对岸的女孩看过来”
99327 学习 · 856 问题
相似问题