模塊間的調(diào)用關(guān)系有哪些 JAVA應(yīng)用開發(fā)和后臺有什么區(qū)別?
JAVA應(yīng)用開發(fā)和后臺有什么區(qū)別?基本相同,SSH也可以開發(fā)移動應(yīng)用的后臺。實際上,對于后臺開發(fā),原理幾乎是一樣的。然而,app的后臺開發(fā)與web的區(qū)別在于數(shù)據(jù)傳輸格式的不同。一般來說,web訪問后,
JAVA應(yīng)用開發(fā)和后臺有什么區(qū)別?
基本相同,SSH也可以開發(fā)移動應(yīng)用的后臺。實際上,對于后臺開發(fā),原理幾乎是一樣的。然而,app的后臺開發(fā)與web的區(qū)別在于數(shù)據(jù)傳輸格式的不同。一般來說,web訪問后,返回的數(shù)據(jù)是一個HTML頁面,其中一些是JSON格式的。但是,大部分APP的后臺開發(fā)都是直接以JSON格式傳輸數(shù)據(jù)(有的不是JSON格式,具體取決于項目的選擇,但一般來說是JSON格式),也有少數(shù)會直接返回到html5頁面。另一個區(qū)別是登錄驗證和數(shù)據(jù)加密。一般來說,Web使用session來驗證登錄狀態(tài),app使用token來驗證登錄狀態(tài)(token是一個與自己定義的用戶ID相關(guān)的加密字符串,發(fā)送到后臺從數(shù)據(jù)庫中查詢用戶信息)。另外,如果安全性要求高,應(yīng)用在傳輸數(shù)據(jù)時可能會對數(shù)據(jù)進(jìn)行加密,但web一般沒有這個步驟,web加密一般使用HTTPS。至于Android IOS,它沒有提到后臺開發(fā)環(huán)境。app的背景和javaweb沒有本質(zhì)的區(qū)別。應(yīng)用程序的背景可以同時提供給Android或IOS。它是將app提交的數(shù)據(jù)經(jīng)過處理后插入數(shù)據(jù)庫,從數(shù)據(jù)庫中找出數(shù)據(jù),經(jīng)過處理后傳輸?shù)絘pp。
java調(diào)用其他模塊,是放在control層通過service接口調(diào)用好,還是放在service層通過dao的接口調(diào)用好?
我建議調(diào)用其他模塊的接口,并通過服務(wù)層調(diào)用它們。如果模塊a的服務(wù)調(diào)用模塊B的Dao,那么模塊B的Dao與模塊a是耦合的,假設(shè)隨著業(yè)務(wù)的發(fā)展,模塊a和模塊B需要作為服務(wù)分開發(fā)布,那么模塊a和模塊B需要維護(hù)模塊B的Dao,模塊a和模塊B的開發(fā)人員需要熟悉模塊B的Dao,在模塊B的表中添加或刪除字段后,需要同時通知模塊a和模塊B的開發(fā)人員,這顯然不容易維護(hù)。另外,將B的Dao模塊引入到a模塊和B模塊中,即a模塊可以直接訪問B模塊Dao的所有功能,Dao模塊通常是一些基本操作。相反,服務(wù)層通常具有特定的業(yè)務(wù)含義。通過服務(wù)公開具有特定含義的業(yè)務(wù)接口,我們可以避免將所有底層操作公開給外部模塊。假設(shè)隨著業(yè)務(wù)的進(jìn)一步發(fā)展,模塊a和模塊B需要分支數(shù)據(jù)庫,模塊a和模塊B分別使用各自的數(shù)據(jù)庫。那么當(dāng)a引入B的Dao時,必須訪問B的數(shù)據(jù)庫,這意味著a需要訪問a、B模塊的數(shù)據(jù)庫,如果有C、D模塊,那么a需要訪問a、B、C、D多個模塊的數(shù)據(jù)庫,這顯然不利于開發(fā)和維護(hù),同時也不利于被引用模塊的數(shù)據(jù)安全。