天天看點

明白了,java為什麼用接口,接口有什麼作用?

為什麼java用接口,接口的技術為什麼這麼重要?如果你細細研讀各大架構的源碼,就會發現幾乎所有的class,都有點刻意地弄出一個或幾個接口來。

明白了,java為什麼用接口,接口有什麼作用?

對于初學者(包括曾經的我)來說就真的很不了解,直接把類寫出來它不香嗎?

在早期的項目中,service類肯定是個接口,然後我們再寫個實作類去實作這個接口,裡面隻寫幾個crud方法而已,多少有點脫褲子放屁之嫌。

工作久了我才明白這其中的真谛,你不搞接口,系統根本沒法擴充。比如你要做一個系統,如果隻是為了完成老師的任務,學校的畢設,你弄不弄接口,搞不搞設計模式,真的是無關緊要!可是對于一個企業級項目,不用接口就意味着系統的擴充性,穩定性幾乎為零。

接口的目的是為了讓設計穩固,減少變化。比如一個産品新增的業務,業務類裡面可能調用幾個接口把邏輯寫完了,至于你怎麼去實作是你的事情,核心的業務類就不需要再去重寫。

以後你項目擴充,搞分布式,搞微服務,有了接口就友善太多了。rpc架構來調你的服務,也是隻管調接口,至于你子系統怎麼實作接口是你的事情,大方向正确就行了。

我要調個saveUser方法,你隻管給我提供接口,我隻需要知道參數,傳回值。内部怎麼實作,你是存MySQL資料庫,還是es,那是你的事情,與我無關。

一個項目裡面接口的多少,接口的設計品質直接決定了項目的整體品質。