導航:首頁 > 編程語言 > java依賴倒置

java依賴倒置

發布時間:2025-01-07 21:41:02

1. java中map有幾種寫法,一般怎樣寫,有什麼區別嗎

Map<String, Object> map = new HashMap<String, Object>();
Map<String, Object> ma = new HashMap<>();
簡寫,就是前面指定泛型,後面就可以省略。
HashMap<String, Object> m = new HashMap<>();
HashMap<String, Object> mm = new HashMap<String, Object>();
不建議這么寫,一般是介面在左,實現類在右,實現依賴倒置原則。

2. java軟體開發的架構設計

軟體架構作為一個概念,體現在技術和業務兩個方面。
從技術角度來說:軟體架構隨著技術的革新不斷地更新其內容,軟體架構建立於當前技術和一些基本原則的基礎之上。
先說一些基本原則:
分層原則:分層是為了降低軟體深度復雜性而使用的關鍵思想,就像社會有了階級一樣,軟體有了層次結構。
模塊化原則:模塊化是化解軟體廣度復雜的必然手段,模塊化的目的就是讓軟體分工。
介面實現分離原則隨著軟體模塊化的不斷深入改進,面向介面編程而不是面向實現編程可以讓復雜度日趨增高的軟體降低模塊之間的耦合度,從而讓各模塊更輕松改進。從這個原則出發,軟體也從微觀進行了細致的規范化。
還有兩個比較小但很重要的原則:
細節隱藏原則很顯然把復雜問題簡化,把難看的細節隱去,能讓軟體結構更清晰。其實這個原則使用很普遍,java/c++語言中的封裝原則以及設計模式中的Facade(外觀)模式就很能體現這個原則的精神。
依賴倒置原則隨著軟體結構的進一步發展,層與層之間、模塊與模塊之間的依賴逐漸加深,而層、模塊的動態可插拔要求不端增大。依賴倒置原則可看視為介面實現分離原則的深化,根據此原則的精神,軟體進入了工具時代。這個原則有點類似於知名的好萊塢法則:Don't call us, we'll call you。
以上這些原則奠定了我們的軟體架構的價值指標。但軟體架構畢竟是建立在當前技術之上的。而每一代技術都有架構模式。過去的不再說了,讓我們就來看一下當前流行的技術,以及當前我們能採用的架構。
因為面向對象是當前最流行開發技術,且設計模式的大量使用使面向對象的走向成熟,而資料庫是當前最有效的存儲結構、web界面是當前最流行的用戶介面,所以當前最典型的三層次架構就架構在以上幾項技術的基礎之上,用資料庫作存儲層、用面向對象來實現業務層、用web來作為用戶介面層。我們從三層次架構談起:
因為面向對象技術和資料庫技術不適配,所以在標准三層次架構的基礎上,我們增加了數據持久層,來管理O-R雙向映射,但目前一直沒有最理想的實現技術。cmp和entity bean技術因為其實現復雜,功能前景有限,已接近被淘汰的邊緣。JDO及hibernate作為o-r映射的後期之秀,尤其是hibernate,功能相當完備。推薦作為持久層的首選
在業務層,因為當前業務日趨負載,且變動頻繁,所以我們必須有足夠敏捷的技術來保證我們的適應變化的能力,在標准j2ee系統中session bean負責業務處理,且有不錯的性能表現,但採用ejb系統對業務架構模式改變太大,且其復雜而昂貴,業務代碼移植性差。而spring 作為一個bean配置的輕量級架構,漂亮的IOC模式實現,對業務架構影響小,所以推薦作為中間層業務框架。
在用戶結構層,雖然servlet/jsp/jstl/javaBean 能夠實現MVC架構,但終究過於粗糙。struts對MVC架構的實現就比較完美,Taperstry也極好地實現MVC架構,且採用基於事件的方式,非常誘人,惜其不夠成熟,我們仍舊推薦struts作為用戶介面層基礎架構。
因為業務層是三層次架構中最有決定意義的,所以讓我們回到業務層細致地分析一下,在復雜的業務我們常常需要以下基礎服務的一種或幾種:事務一致 性服務acid(tool:jta/jts)、並發加鎖服務concurrent&&lock、池化管理服務cache、訪問控制服務(tool:jaas)、流程式控制制服務workflow、動態實現服務IOC,串列化消息服務(tool:jms)、負載平衡服務blance等。如果我們不採用重量級應用伺服器(如weblogic,websphere,jboss等)及重量級組件(EJB),我們必須自己實現其中一些服務。雖然我們大 多情況下,不需要所有這些服務,但實現起來卻非易事。幸運的是我們有大量的開源實現代碼,但採用開源代碼卻常常是件不輕松的事。
隨著xml作為結構化信息傳輸和存儲地位日漸重要,一些xml文檔操作工具(DOM,Digester,SAX等)的使用愈發重要,而隨著 xml schema的java binding工具(jaxb,xmlbean等)工具的成熟,採用xml schema來設計xml文檔格式,然後採用java binding來生成java bean 會成為主要編程模式,而這又進一步使數據中心向xml轉移,使在中小數據量上,愈發傾向於以xquery為查詢語言的xml資料庫。現還有一個趨勢, microsoft,ibm等紛紛大量開發中間軟體如(microsoft office之infopath),可以直接從xml schema 生成錄入頁面等非常實用的功能。還有web service 的廣泛應用,都將對軟體的架構有非常重大的影響。至於面向服務架構(SOA)前景如何,三層次架構什麼時候走入歷史,現還很難定論。
aop的發展也會對軟體架構有很深的影響,但在面向對象架構里,無論aspectJ還是jboss-aop抑是aspectWerks、 nanning都有其自身的嚴重問題:維護性很差,所以說它將很難走遠。也許作為一個很好的思想,它將在web service里大展身手。
rdf,owl作為w3c語義模型的標志性的語言,也很難想像能在當前業務架構發揮太大影響。但如果真如它所聲稱那樣,廣泛地改變著信息的結構。那麼對軟體架構也會有深遠影響。

3. java常用的設計模式一共有多少種

1、正如上一位答主所言,java中存在23種面向對象的設計模式,分別是:
1)創建型模式,共五種:工廠方法模式、抽象工廠模式、單例模式、建造者模式、原型模式。
2)結構型模式,共七種:適配器模式、裝飾器模式、代理模式、外觀模式、橋接模式、組合模式、享元模式。
3)行為型模式,共十一種:策略模式、模板方法模式、觀察者模式、迭代子模式、責任鏈模式、命令模式、備忘錄模式、狀態模式、訪問者模式、中介者模式、解釋器模式。
2、他們遵從如下原則:
1)單一職責原則
2)里式替換原則
3)依賴倒置原則
4)介面隔離原則
5)迪米特法則
6)開閉原則
3、如果非要用幾個簡單的字來概括這繁雜的23種設計模式那就是「高內聚,低耦合」。
4、網路--23種設計模式,邊研究原理,邊敲代碼,其義自見。

4. (java)設計模式中,「依賴倒置原則」說〔要依賴抽象,不要依賴具體類〕。這句話中的「依賴」怎麼理解...

同意樓上,像這種簡單的組合關系就是依賴的一種體現。所謂依賴倒置,就是說,依賴的B不是直接通過B b=new B();來獲取,而是先在工廠里先new好,A什麼時候需要用的時候直接去工廠里取就是了。

閱讀全文

與java依賴倒置相關的資料

熱點內容
三星手機微信文件夾在哪 瀏覽:493
自己做app可以嗎 瀏覽:985
課程網站評價怎麼寫 瀏覽:869
小米手機上手機卡出來密碼 瀏覽:693
iphone手機國行和港行的區別 瀏覽:913
javagetservername 瀏覽:988
三劍豪升級 瀏覽:263
華為nova8如何防止app偷個人隱私 瀏覽:764
壓縮文件夾解壓後是空的 瀏覽:912
合成ts文件後順序亂了 瀏覽:952
三星s4文件傳電腦 瀏覽:161
Lgplc怎麼編程 瀏覽:471
主要的水稻資料庫有哪些 瀏覽:293
iphone霸氣壁紙 瀏覽:32
系統文件備份在哪個文件夾 瀏覽:53
win81升級win10卡住 瀏覽:766
jsp調用微信公眾號支付 瀏覽:767
微信模板消息推送java 瀏覽:519
傳700MB的文件要多少流量 瀏覽:777
想做家教可以在哪些app上 瀏覽:868

友情鏈接