[英]Why the need for a strict enforcement of interfaces for classes in a Spring MVC service layer?
[英]Use of Interfaces on a service layer
在我們的項目架構中,我們使用經典的MVC模式,包括經典服務層(打開事務並調用DAO層)。
對於每個服務,我們都有一個實現和他的接口。 但說實話,我很確定對於一個服務和他的界面,我們永遠不會有多個實現。 好吧也許更清楚的是在界面中聲明公共方法有助於知道服務的作用,但是接口用於多個實現,如果我們知道我們不會有多個實現,我們應該保持他們?
我認為這是保持接口的好方法。
原因:1。說你想用不同的實現來編寫相同的junits。 盡管從數據庫獲取數據,您希望從單獨的數據源獲取數據,但是不同的實現就足夠了。
從文檔 :
實現接口允許類對其承諾提供的行為變得更加正式。 接口在類和外部世界之間形成契約,並且該合同在構建時由編譯器強制執行。
如果您知道只有一個實現,那么實現本身將定義合同,因此您可以刪除接口。
但是編寫接口可以幫助您更好地定義合同,並且您可能需要在給定點為服務編寫模擬,在這種情況下,您將從接口的使用中受益。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.