偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Java架構設計和開發(fā)中的小技巧

開發(fā) 后端
Java是由Sun Microsystems公司于1995年5月推出的Java程序設計語言和Java平臺的總稱。Java也是一種面向對象的語言。下面讓我們了解一下Java架構設計和開發(fā)中最常用的快捷鍵。

架構是在組件,彼此間和與環(huán)境間的關系,引導設計發(fā)展原則中體現(xiàn)系統(tǒng)的基本結構。軟件架構是軟件產(chǎn)品、軟件系統(tǒng)設計當中的主體結構和主要矛盾。任何軟件都有架構,哪怕一段短小的HelloWorld程序。軟件架構設計的成敗決定了軟件產(chǎn)品和系統(tǒng)研發(fā)的成敗。軟件架構自身所具有的屬性和特點,決定了軟件架構設計的復雜性和難度。下面讓我們來了解Java架構設計的一些主要特征。

Java架構設計

軟件架構作為一個概念,體現(xiàn)在技術和業(yè)務兩個方面。   

從技術角度來說:軟件架構隨著技術的革新不斷地更新其內(nèi)容,軟件架構建立于當前技術和一些基本原則的基礎之上。  

先說一些基本原則:   

分層原則:分層是為了降低軟件深度復雜性而使用的關鍵思想,就像社會有了階級一樣,軟件有了層次結構。   

模塊化原則:模塊化是化解軟件廣度復雜的必然手段,模塊化的目的就是讓軟件分工。   

接口實現(xiàn)分離原則隨著軟件模塊化的不斷深入改進,面向接口編程而不是面向實現(xiàn)編程可以讓復雜度日趨增高的軟件降低模塊之間的耦合度,從而讓各模塊更輕松改進。從這個原則出發(fā),軟件也從微觀進行了細致的規(guī)范化。   

還有兩個比較小但很重要的原則:   

細節(jié)隱藏原則很顯然把復雜問題簡化,把難看的細節(jié)隱去,能讓軟件結構更清晰。其實這個原則使用很普遍,java/c++語言中的封裝原則以及設計模式中的Facade(外觀)模式就很能體現(xiàn)這個原則的精神。   

依賴倒置原則隨著軟件結構的進一步發(fā)展,層與層之間、模塊與模塊之間的依賴逐漸加深,而層、模塊的動態(tài)可插拔要求不端增大。依賴倒置原則可看視 為接口實現(xiàn)分離原則的深化,根據(jù)此原則的精神,軟件進入了工具時代。這個原則有點類似于知名的好萊塢法則:Don't call us, we'll call you。   

以上這些原則奠定了我們的軟件架構的價值指標。但軟件架構畢竟是建立在當前技術之上的。而每一代技術都有架構模式。過去的不再說了,讓我們現(xiàn)在就來看一下當前流行的技術,以及當前我們能采用的架構。   

因為面向對象是當前最流行開發(fā)技術,且設計模式的大量使用使面向對象的走向成熟,而數(shù)據(jù)庫是當前最有效的存儲結構、web界面是當前最流行的用 戶接口,所以當前最典型的三層次架構就架構在以上幾項技術的基礎之上,用數(shù)據(jù)庫作存儲層、用面向對象來實現(xiàn)業(yè)務層、用web來作為用戶接口層。我們從三層 次架構談起:   

因為面向對象技術和數(shù)據(jù)庫技術不適配,所以在標準三層次架構的基礎上,我們增加了數(shù)據(jù)持久層,來管理O-R雙向映射,但目前一直沒有最理想的實 現(xiàn)技術。cmp和entity bean技術因為其實現(xiàn)復雜,功能前景有限,已接近被淘汰的邊緣。JDO及hibernate作為o-r映射的后期之秀,尤其是hibernate,功能 相當完備。推薦作為持久層的首選。   

在業(yè)務層,因為當前業(yè)務日趨負載,且變動頻繁,所以我們必須有足夠敏捷的技術來保證我們的適應變化的能力,在標準j2ee系統(tǒng)中session bean負責業(yè)務處理,且有不錯的性能表現(xiàn),但采用ejb系統(tǒng)對業(yè)務架構模式改變太大,且其復雜而昂貴,業(yè)務代碼移植性差。而spring 作為一個bean配置的輕量級架構,漂亮的IOC模式實現(xiàn),對業(yè)務架構影響小,所以推薦作為中間層業(yè)務框架。   

在用戶結構層,雖然servlet/jsp/jstl/javaBean 能夠實現(xiàn)MVC架構,但終究過于粗糙。struts對MVC架構的實現(xiàn)就比較完美,Taperstry也極好地實現(xiàn)MVC架構,且采用基于事件的方式,非 常誘人,惜其不夠成熟,我們?nèi)耘f推薦struts作為用戶接口層基礎架構。   

因為業(yè)務層是三層次架構中最有決定意義的,所以讓我們回到業(yè)務層細致地分析一下,在復雜的業(yè)務我們常常需要以下基礎服務的一種或幾種:事務一致 性服務acid(tool:jta/jts)、并發(fā)加鎖服務concurrent&&lock、池化管理服務cache、訪問控制服務(tool:jaas)、流程控制服務workflow、動態(tài)實現(xiàn)服務IOC,串行化消息服務(tool:jms)、負載平衡服務blance等。如果我們不采用重量級應用服務器(如weblogic,websphere,jboss等)及重量級組件(EJB),我們必須自己實現(xiàn)其中一些服務。雖然我們大多情況下,不需要所有這些服務,但實現(xiàn)起來卻非易事。幸運的是我們有大量的開源實現(xiàn)代碼,但采用開源代碼卻常常是件不輕松的事。   

隨著xml作為結構化信息傳輸和存儲地位日漸重要,一些xml文檔操作工具(DOM,Digester,SAX等)的使用愈發(fā)重要,而隨著xml schema的java binding工具(jaxb,xmlbean等)工具的成熟,采用xml schema來設計xml文檔格式,然后采用java binding來生成java bean 會成為主要編程模式,而這又進一步使數(shù)據(jù)中心向xml轉移,使在中小數(shù)據(jù)量上,愈發(fā)傾向于以xquery為查詢語言的xml數(shù)據(jù)庫。最近還有一個趨勢, microsoft,ibm等紛紛大量開發(fā)中間軟件如(microsoft office之infopath),可以直接從xml schema 生成 錄入頁面等非常實用的功能。還有web service 的廣泛應用,都將對軟件的架構有非常重大的影響。至于面向服務架構(SOA)前景如何,三層次架構什么時候走入歷史,現(xiàn)在還很難定論。   

aop的發(fā)展也會對軟件架構有很深的影響,但在面向對象架構里,無論aspectJ還是jboss-aop抑是aspectWerks、 nanning都有其自身的嚴重問題:維護性很差,所以說它將很難走遠。也許作為一個很好的思想,它將在web service里大展身手。   

rdf,owl作為w3c語義模型的標志性的語言,也很難想象能在當前業(yè)務架構發(fā)揮太大影響。但如果真如它所聲稱那樣,廣泛地改變著信息的結構。那么對軟件架構也會有深遠影響。

#p#

Java開發(fā)中的技巧 

Eclipse中最常用的快捷鍵:

Ctrl+L Go to Line   

F5 Step Into   

Ctrl+H Open Search Dialog   

Ctrl+Shift+K Find Previous   

Ctrl+F11 Run   

Ctrl+Shift+\ Remove Block Comment   

F11 Debug   

Ctrl+Shift+/ Add Block Comment   

Ctrl+K Find Next   

F8 Resume (during Debug)   

Ctrl+O Quick Outline   

Alt+Shift+R Rename (Refactoring)   

F3 Open Declaration   

Ctrl+R Run to Line   

Ctrl+/ Toggle Comment   

Ctrl+Shift+O Organize Imports   

F6 Step Over   

Ctrl+Shift+F Format   

Ctrl+Shift+G References in Workspace

本文主要介紹了Java架構和開發(fā)中經(jīng)常用到的快捷鍵??梢赃@么說軟件的架構決定了軟件的成敗,所以軟件架構是非常重要的。希望會對你有幫助。

【編輯推薦】

  1. 解析Java平臺的構架與版本
  2. 如果要用Java實現(xiàn)算法,一定慎用遞歸
  3. Java異常處理的優(yōu)劣之道
  4. JavaScript操作符instanceof揭秘
責任編輯:于鐵 來源: 百度
相關推薦

2009-07-06 10:36:41

敏捷開發(fā)

2012-07-02 14:47:57

架構敏捷開發(fā)

2009-06-12 16:07:05

演進式架構設計敏捷開發(fā)

2022-07-22 10:09:28

架構設計

2016-12-28 13:19:08

Android開發(fā)坑和小技巧

2022-07-26 12:33:38

架構設計場景

2017-05-17 14:51:31

DNS架構負載均衡

2025-04-15 04:00:00

2024-02-26 00:00:00

Nginx服務器HTTP

2009-02-01 10:17:19

Java架構設計設計模式

2015-02-04 10:32:57

Objective-CSwift

2024-10-06 13:05:43

2024-12-09 09:07:22

2009-07-30 15:18:11

2013-05-27 10:58:28

Tumblr架構設計雅虎收購

2025-01-23 11:18:22

JavaSPI接口

2009-06-15 15:54:53

Java中Cookie

2023-05-12 08:06:46

Kubernetes多云架構

2023-05-12 07:52:13

架構設計設計原則

2016-02-18 10:09:23

12306核心思路架構
點贊
收藏

51CTO技術棧公眾號