java四層架構(gòu) Service層和Dao層真的有必要每個類都加上接口嗎?
Service層和Dao層真的有必要每個類都加上接口嗎?這主要取決于您的項目:例如,如果項目中使用了hibernate,以后可能會切換到mybatis,那么Dao需要使用這個接口。這不會影響上層代碼的
Service層和Dao層真的有必要每個類都加上接口嗎?
這主要取決于您的項目:
例如,如果項目中使用了hibernate,以后可能會切換到mybatis,那么Dao需要使用這個接口。這不會影響上層代碼的更改。
另一個例子是,項目是一個單一的應(yīng)用程序。任何代碼修改都需要重新編譯整個項目,因此不需要接口。如果項目是由模塊編譯和部署的,那么可以使用接口解耦。假設(shè)修改了Dao,只需要重新編譯和部署Dao模塊,而不影響上層模塊。
此外,如果項目團隊中有許多新手,簡單的代碼結(jié)構(gòu)可能更合適。復(fù)雜項目結(jié)構(gòu)的學(xué)習(xí)成本較高。
如果工程進度非常緊迫,我們可以用簡單粗暴的方式用經(jīng)濟成本來說明原因。
使用接口的成本是不使用接口的成本(包括后續(xù)維護成本)。
如果項目變化很大,部署了模塊,項目不急,使用接口的成本比不使用接口的成本低,雖然早期不使用接口似乎更簡單;相反,不使用接口的成本低,而且連框架都不能用~
畢竟工具是提高效率的,那你為什么不能和自己相處呢
j2ee項目里面service層里面為什么要建立一個接口,一個實現(xiàn)類?
簡單地說,第一種方法是創(chuàng)建一個接口。第二種方法是直接實例化。第一種方法是在使用userserviceinpl時使用spring框架來定義接口。最后,您可以用XML模式實例化它。這樣,您以后需要修改它,只要您更改XML(所謂的低耦合)。第二種方法是假設(shè)您直接在一個java文件中實例化,如果您不使用它,這個類需要被另一個類替換。您需要更改java文件。它非常麻煩(即所謂的高耦合度)。耦合度較低的方案效果較好?,F(xiàn)在你可能還達不到它,但是使用接口的編程方法對將來的開發(fā)非常有幫助,其他人會看的。
j2ee項目里面service層里面為什么要建立一個接口,一個實現(xiàn)類?
Java是用于接口編程、編程規(guī)范的,因此具有良好的可擴展性。對于一個小項目來說,使用這個界面似乎很麻煩,但是對于一個大項目來說就不同了。接口的編程非常重要,有利于維護和擴展。而且在分工上更容易合作。例如,如果我想調(diào)用服務(wù)層方法,我只需要通過接口直接調(diào)用該方法。我根本不必關(guān)心這個方法的實現(xiàn)。這可以由團隊中的其他人來完成。另外,不是為了接口編程,只是一個項目。對于接口編程,我們可以制作產(chǎn)品,然后在產(chǎn)品的基礎(chǔ)上構(gòu)建項目。對于同一領(lǐng)域的項目,許多項目只是有不同的實現(xiàn)細節(jié)。