java应用架构设计_java应用架构设计
第二章 模塊化的兩方面
模塊化的兩方面:運行時模型和開發模型。
2.1運行時模型:是關注如何在運行時對模塊化的軟件系統進行管理。在java平臺中,模塊化的系統事實標準是OSGI,很多應用應用平臺借助OSGi運行時的能力增強模塊化。直到現在眾多使用平臺內部封裝OSGi卻選擇對企業級開發人員隱藏,所以開發人員無法構建充分利用模塊化運行環境的應用程序。
2.2 開發模型:解決的問題是開發人員怎樣使用框架構架軟件應用。開發模型可以分為兩類:編輯模型和設計范式。
2.2.1 編輯模型:利用框架和工具,開發人員可以使用運行時模塊系統的能力,而不用擔心編程模型。框架封裝了對API的依賴,這樣代碼就不用直接和API交互了,通過這些關注點分離能夠讓java類依舊簡單舊式java對象,他們不會依賴模塊系統的框架。
2.2.2設計模式:設計范式的幾個實例如:面向對象(OO)編程以及企業級JavaBean(Enterprise JavaBean ,EJB) ? ? 。
面向對象作為可重用的基礎,類的粒度大小。開發團隊很難的正確的把握和使用面向對象的理念。叫深層次結構的繼承及包含太多功能的基類會導致設計不佳和脆弱的軟件系統。總之,面向對象開發過早地失效了。面向對象編程語言的運行時功能提供了如多態,動態綁定等特性,開發人員可以很容易地理解編程模型中的很多方面。如今被視為面向對象技術的簡單事實(“ 優先使用對象組合而不是對象繼承”以及“面向接口編程而不是實現”)。
企業級 java Bean 尤其是其中的實體bean,曾唄視為將java開發的業務應用進行組件化的一種方式。EJB的運行時能力是很吸引力的——事務、持久為、安全性、透明等——并且直接合并到平臺中,不過兩個很明顯的問題:開發模式的復雜并且無法很好的理解。
吸取的教訓:面向對象的程序設計和EJB都曾經被視為有前途的技術,但事實證明,他們并沒有達到期初所炒作的那樣。問題不在于面向對象編程語言或實現EJB規范的平臺,而在于我們怎么樣使用這些技術設計應用。最大的挑戰是關于設計規范的。
注意:運行時模塊化系統通常會支持一下幾個功能:
封裝:包中任何公開類只要在類路徑下就能被類路徑下的其他類訪問。所有的事情都是全局性的,這阻礙了模塊化設計。運行時模塊化系統提供了隱藏實現細節的能力。
動態部署:在標準的java中更新軟件通常需要重新啟動JVM。運行時模塊系統支持熱部署。
版本管理:在標準的java中,不能為一個類部署多個版本。模塊化的系統允許部署多個版本。
依賴管理:在標準的java中,沒有實現模塊的依賴結構。像Maven這樣的構建工具試圖通過描述依賴關系的JAR文件倉庫解決這個問題。運行時模塊系統可以實現運行時的依賴管理。
總結:模塊化有兩個方面:運行時模型和開發模型。開發模型包括編程模型和設計范式。所有的方面都很重要的,但是如果不能理解如何設計模塊化軟件將會降低使用模塊化運行時或框架帶來的益處。
總結
以上是生活随笔為你收集整理的java应用架构设计_java应用架构设计的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java遍历对象属性_java开发中遍历
- 下一篇: java 预览zip_java压缩包上传