年Java世界發生了巨大變化
主要方面是誕生和發展了幾個新名詞
IOC
AOP
SOA
MDA
當然
除了這些都是決定Java技術未來走向的革命性發展以外
還有很多細部和微觀的發展
我們先來談談這些重要的細節技術發展
首先
Java的根基JDK已經跨越到了J
SE
或者稱為J
SE
不過
我更喜歡稱它為
延續性是我們應用程序員更關心的
當然革命性是那些新技術發明者更陶醉的
所以他們曾經取名J
SE
現在
為了表示這種跨越
而且跨越是非常巨大
一下子達到了J
SE
非常誇張
不過老外在技術上確實經常極端
偏執者才能生存
我想是其行動主義文化的主要基礎
J
SE
最吸引眼球的我認為主要是annotate特性
該特性可以大大降低程序員的編程量
它和Java Relfect機制結合
可以編制出相當靈活的軟件系統或框架
從J
SE
看出
SUN正在試圖簡化Java
但是也許這一簡化動作來得遲了點
同樣
珊珊來遲的是J
EE Web層的一個標准JSF
JSF使得程序員在開發J
EE的Web程序時
能夠如同開發SWING那樣實現可視化開發
提高了開發效率
但是必須有高級開發工具支持
由於好東西來得太遲
在一份最近調查中顯示
開源項目Struts已經在J
EE實際Web層開發中占據主導地位
Struts在
年是達到成熟頂點
它的主要特點是將Form表單對象化
同時提供簡單的XML標簽替代以前Jsp中的Java語言
這樣在Jsp中徹底消滅了Java代碼
除了Struts
Tapestry這種徹底拋棄Jsp的開源Web框架產品也值得一提
它和WebWork一起成為一顆引人注目的星星
年發生了太多新的激動人心的事情
其中最引人注目的是AOP和SOA的迅速發展
Java世界的發展一直以來是分兩條路線
第一條是工業路線
以SUN
IBM
BEA和Oracle等工業巨頭為代表的業界標准
當工業巨頭制定出EJB
以後
他們認為在JavaBeans技術框架內EJB已經走到極限
基本無需太多發展
因此
他們將關注目光投向軟件系統服務功能上
當一個個EJB組件提供了可重用的功能後
如何向不同客戶輸出這些強大的
可重用的功能呢?是反復安裝拷貝這些組件功能?還是以一種服務的方式適時提供全面的租用?SOA面向服務架構因此提出來
並且得到工業界巨頭的大量投入和發展
同時
他們還在關注流程的可定制化和可視化開發
通過強大的開發平台
可以很輕松地完成工作流的業務定制和修改
當業界巨頭關注重點從JavaBeans結構轉移時
一種新的設計思想和編程風格AOP(面向方面編程)誕生了
面向方面編程是OOP面向對象編程的延續
AOP於
年底已經在國外熱起來
到了
年應該算是全面開花
各種AOP產品如JBoss
Spring
Aspectwerkz等迅速誕生和發展
帶給程序員全新的概念和理念沖擊
AOP編程方法可以應用在軟件開發的各個領域
當你發現某個功能具有普遍性和通用性以後
那麼這個功能也許可以使用AOP實現
這樣你的代碼優雅
同時可維護性和拓展性大大增強
Ioc反轉控制應該說有著AOP類似解耦思路
通過Ioc模式或容器
可以比較徹底分離JavaBeans之間的調用和被調用關系
達到真正地面向接口編程
是Ioc使的面向接口編程變得更具有意義而且重要
Ioc的產品如純潔的PicoContainer以及Spring等等
開源和業界標准的分歧不僅僅體現在JavaBeans體系發展上
還體現在對象持久化方式上
在
年有三種流行的對象持久化在被廣泛使用
EJB的CMP
Hibernate和JDO
這三者之間的區別和聯系也是很多程序員津津樂道的
特別是Hibernate的創始人Gavin King不斷對JDO的質疑
使的Hibernate名氣大升
也使的JDO一直未能夠進入EJB的持久化標准
Spring+Hibernate架構以及使用基於JBoss的EJB架構成為低成本高質量J
EE流行架構
這種
混亂
的局面下
EJB
標准Preview方案被
年Java ONE大會首次提出
EJB
試圖取悅那些輕量方案的追隨者
同時又能兼顧過去EJB標准的系列發展
JBoss迅速地提供了對EJB
支持包
其中我們看到了Gavin King這位斗士的身影
同時
Hibernate向何處去是我們應用系統程序員關心的
Struts
正在向JSF標准靠攏和遷移
Hibernate是否能夠一直孤軍作戰?目前一項旨在統一J
EE持久層技術的標准方案正在啟動中
我們期望簡單統一的持久層方案出台
減少程序員選擇遷移之苦
年又是Java世界吵鬧的一年
有的程序員說
現在學java卻越學越糊塗
看了很多東西
不但大腦裡沒有頭緒
反而有種走火入魔的感覺
因為各種技術派別都在爭奪話語權
話語權的爭奪意味著商機的誕生
JBoss和Spring的開發團體先後轉為商業公司是一個證明
對於應用者來說
沒有永遠的解決方案
只有合適的工具
Java世界提供給你的是工具箱
而非一種選擇
需求是選擇工具的唯一原因
讓我們視野從J
EE思想和技術之爭轉移到需求分析領域的領域
在這個領域一直也存在兩種意見
面向數據表分析還是面向模型分析?也就是說
建立一個新的系統
是先分析設計數據表還是模型
前者是以前數據庫系統經常采取的方式
但是這一傳統的方式目前也受到OO對象的沖擊
MDA(面向模型分析)在
年成熟開花
各種Java成品也如雨後春筍一樣遍地開花
MDA思想提出了極端觀點
將來只有建模專家(其它程序員都變成藍領工人了)
只要建模專家通過UML設計出一個系統的模型
通過特定的Java MDA工具就可自動生成相應的代碼
好像真的不需要普通程序員了
結束語 總之
年的Java技術帶給我們更多的是激動和壓力
新技術發展以月計算
作為程序員的我們如何跟上這些新技術發展
同時能夠選擇正確的技術引入我們自己的應用系統
這些才是我們的真正挑戰
From:http://tw.wingwit.com/Article/program/Java/hx/201311/26704.html