2014-01-06 68 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層分開。