2014-01-06 66 views
2

真的有必要实现一个服务层吗?在我的项目中似乎没有任何好处。服务层是否有必要?

public void save(Student student) { 
    StudentDao.save(student); 
} 

它所做的就是调用DAO层:

public void save(Student student) { 
    sessionFactory.getCurrentSession().save(student); 
} 

这是为我所有的方法,其中呼吁DAO层同样的事情。

回答

2

不,这绝对没有必要引入一个额外的层,它不会带来任何好处。

如果您的应用程序只具有简单的CRUD功能,您可能永远不需要额外的服务层,因为唯一提供的服务是持久性,它已经封装在自己的层中。

如果您的应用程序开始增长并且您发现自己在不属于它的地方打包了更多功能,例如视图或持久层代码,那么你可以重新考虑为它引入一个单独的层。

编辑。当您在用户输入之后实际处理数据时,您可能确实需要额外的服务层,然后才能持续等。

一个示例是客户输入付款信息。您需要使用适当的支付提供商验证该信息。这种功能对于服务层来说是典型的。

+0

非常感谢@kostja :) – Youssef

+0

@Youssef欢迎:) – kostja

3

这是没有必要的,但是这是一个很好的地方为调用多个DAO的方法启用事务。

有了服务层,您还可以将服务逻辑与DAO层分开。