posted @ 2006-07-05 15:07 7夜 閱讀(328) | 評論 (0) | 編輯 收藏
程序員和軟件工程師的標準是什么,我想很多計算機系出來的學生應該很清楚,去考程序員和軟件工程師的資格證書,參考材料的前幾頁有。但具我所知,有這些證書的垃圾最多,基本的代碼規范和語言基礎都不知道/模糊。有能力的人大多不愿意去考,浪費時間在這上面可以多研究點技術問題了。去考證的也沒有錯,畢竟這是老板給你高工資、升職、加薪的理由。但一點技術也沒有就是拿它來混飯吃,也許你能永遠蒙住老板,但是和你一起共事的同事能有多少看得起你的,拿你當朋友的?
posted @ 2006-02-19 23:45 7夜 閱讀(206) | 評論 (0) | 編輯 收藏
1 目を閉じて 何も見えず
哀しくて 目を開ければ
荒野(こうや)に 向かう道より
ほかに 見えるものはなし
嗚呼(ああ) 砕け散る 運命(さだめ)の星たちよ
せめて密(ひそ)やかに この身を照らせよ
我は行く 蒼白き頬のままで
我は行く さらば昴よ
凩(こがらし)は吠(な)き続ける
されど 我が胸は熱く
夢を 追い続けるなり
嗚呼 さんざめく 名も無き星たちよ
せめて鮮やかに その身を終われよ
我も行く 心の命ずるままに
我も行く さらば昴よ
嗚呼 いつの日か 誰かがこの道を
我は行く 蒼白き頬のままで
我は行く さらば昴よ
我は行く さらば昴よ
posted @ 2006-02-19 22:32 7夜 閱讀(417) | 評論 (0) | 編輯 收藏
電影《致命戀人》中的歌曲《Unbreak My Heart》,由Dianne Warren 譜寫,美國著名靈魂音樂歌手Toni Braxton 用她低回磁性的嗓音,亦幽亦明地表現出歌曲強烈而深厚的意境,是97年Billboard排行榜冠軍,并穩坐14周冠軍寶座,Toni Braxton 因演唱此曲奪得了第二座格萊美獎
Un-break my heart My heart -Toni Braxton
Don't leave me in all this pain
Don't leave me out in the rain
Come back and bring back my smile
Come and take these tears away
I need your arms to hold me now
The nights are so unkind
Bring back those nights when I held you beside me
Un-break my heart
Say you'll love me again
Undo this hurt you caused
When you walked out the door
And walked outta my life
Un-cry these tears
I cried so many nights
Un-break my heart
My heart
Take back that sad word good-bye
Bring back the joy to my life
Don't leave me here with these tears
Come and kiss this pain away
I can't forget the day you left
Time is so unkind
And life is so cruel without you here beside me
Don't leave me in all this pain
Don't leave me out in the rain
Bring back the nights when I held you beside me
Un-break my heart
Say you'll love me again
Undo this hurt you caused
When you walked out the door
And walked outta my life
Un-cry these tears
I cried so many, many nights
Un-break my
Un-break my heart
Oh baby
Come back and say you love me
Un-break my heart
Sweet darlin'
Without you I just can't go on
Can't go on
Can't go on
posted @ 2006-02-19 16:29 7夜 閱讀(232) | 評論 (0) | 編輯 收藏
posted @ 2006-02-17 15:40 7夜 閱讀(280) | 評論 (0) | 編輯 收藏
草雉京 (實際上“雉”應為“薙”,讀“ti”,而不是“zhi”)
外式·轟斧陽:→+B
外式·奈落落:(跳躍中)↓+C
八十八式:↘+D
百式·鬼燃燒:→↓↘+A或C
七百七式·獨樂屠:←↓↙+B或D
二百十二式·琴月陽:→↘↓↙←+B或D
七十五式改:↓↘→B+B或D+D
百十四式·荒咬:↓↘→+A
百二十八式·九傷:荒咬動作中↓↘→+A或C
百二十七式·八錆:荒咬動作中→↘↓↙←+A或C荒咬→九傷動作中A或C
百二十五式·七瀨:荒咬→九傷動作中B或D
外式·砌穿:荒咬→八錆動作中A或C
百十五式·毒咬:↓↘→+C
四百一式·罪詠:毒咬動作中→↘↓↙←+A或C
四百二式·罰詠:罪詠動作中→A或C
九百十式·鶴摘(外式+虎伏/龍射):↓↙←+A或C
*里百八式·大蛇雉:↓↙←↙↓↘→+A或C
*最終決戰奧義·無式:↓↘→↓↘→+A或C
二階堂紅丸
旋轉膝落:(空投)↑以外+C或D
杰克小刀踢:→+B
飛之技巧:(跳躍中)↓+D
雷韌拳:↓↘→+A或C
空中雷韌拳:(跳躍中)↓↘→+A或C
真空片手駒:↓↙←+A或C
超級閃電踢:→↓↘+B或D
居合蹴:↓↘→+B或D
反動三段蹴:→↘↓↙←+B或D
紅丸投:(近身)→↘↓↙←→+A或C
*雷光拳:↓↘→↓↘→+A或C
*大發電者:(近身)→↘↓↙←→↘↓↙←+A或C
大門五郎
玉潰:→+A
頭上拂:↘+C
地雷震:→↓↘+A或C
超受身:↓↙←+B或D
出云投:←↙↓↘→+A
切株返:←↙↓↘→+C
天地返:(近身)→↘↓↙←→+A或C
超大外割:(近身)→↓↘+B或D
根返:↓↘→+B或D
里投:→↘↓↙←→+B或D
*地獄極樂落:(近身)→↘↓↙←→↘↓↙←+A或C
*嵐之山:(近身)←↙↓↘→←↙↓↘→+B或D
》續·切株返:嵐之山中←↙↓↘→+B或D
》根拔里投:續·切株返中→↓↘+B或D
**》續·天地返:續·切株返中→↓↘+B或D
-----------------
特瑞
后打:→+A
步步高:↘+C
火焰沖拳:↓↙←+A或C
能量波:↓↘→+A或C
碎石踢:↓↙←+B或D
倒躍踢:→↓↘+A或C
灌籃強擊:→↓↘+B或D
能量補充:←↙↓↘→+B或D
*能量噴泉:↓↙←↙↓↘→+A或C
*高軌噴泉:↓↘→↓↘→+B或D
安迪
上鱷:→+B上面↘+A
斬影拳:↙→+A或C
我彈幸:斬影拳擊中后↓↘→+A或C
飛翔拳:↓↙←+A或C
升龍拳:→↓↘+A或C
空破彈:←↙↓↘→+B或D
擊臂背水掌:(近身)←↙↓↘→+A或C
幻影不知火:(跳躍中)↓↘→+B或D
幻影不知火(下顎):幻影不知火著地中→+A或C
幻影不知火(上顎):幻影不知火著地中→+B或D
*超裂破彈:↓↙←↙↓↘→+B或D
*飛翔流星拳:↓↘→↓↘→+A或C
東丈
低踢:→+B
滑步:↘+B
旋風拳:←↙↓↘→+A或C
爆烈拳:A或C連按
爆烈拳終結:爆烈拳中↓↘→+A或C
虎破腳:→↓↘+B或D
電光踢:←↙↓↘→+B或D
黃金之踵落:↓↙←+B或D
*死亡龍卷風:↓↘→↓↘→+A或C
*爆烈颶風猛虎踢:↓↘→↘↓↙←+A或C
--------------
坂崎良
冰柱割:→+A
虎煌拳:↓↘→+A或C
虎炮:→↓↘+A或C
猛虎雷神剛跳躍中:→↓↘+A或C
飛燕疾風腳:→↘↓↙←+B或D
極限流連舞拳:(近身)←↙↓↘→+A或C
猛虎雷神剛:↓↙←+A或C(擊中后可接虎炮)
猛虎雷神剎:↓↘→+B或D
*龍虎亂舞:↓↘→↘↓↙←+A或C
*霸王翔吼拳:→←↙↓↘→+A或C
*天地霸王拳:↓↘→↓↘→+A或C
羅伯特
龍翻蹴:→+B
龍擊拳:↓↘→+A或C
龍牙:→↓↘+A或C
飛燕旋風腳:→↘↓↙←+B或D
極限流連舞腳:←↙↓↘→+B或D
龍斬翔:→↓↘+B或D
飛燕龍神腳:(跳躍中)↓↙←+B或D
*龍虎亂舞:↓↘→↘↓↙←+A或C
*霸王翔吼拳:→←↙↓↘→+A或C
*無影疾風重段腳:↓↘→↓↘→+B或D
坂崎由莉
燕落:(空投)↑以外+C或D
燕翼:→+B
虎煌拳:↓↘→+A或C
空牙:→↓↘+A或C
里空牙:重空牙著地時→↓↘+C
雷煌拳:↓↘→+B或D
百烈掌擊:→↘↓↙←+A或C
飛燕疾風拳:↓↙←+B或D
飛燕旋風腳:↓↙←+A或C
*霸王翔吼拳:→←↙↓↘→+A或C
*飛燕鳳凰腳:↓↘→↘↓↙←+B或D
*飛燕烈孔:↓↘→↓↘→+A或C
--------------
莉安娜 (暴走莉安娜按住開始鍵不放輸入↑↓↑↓↑↓+B+D)
黑登摔:(空投)↑以外+C或D
月光鋸:↓(蓄)↑+A或C
威武軍刀:←(蓄)→+B或D
粉碎者:重威武軍刀中→+D
X口徑炮:↓(蓄)↑+B或D
渦旋發射器:←(蓄)→+A或C
眼之斬:↓↙←+A或C
*V字金鋸:(跳躍中)↓↘→↘↓↙←+A或C
*旋轉的火花:↓↙←↙↓↘→+B或D
*重力風暴:↓↘→↓↘→+A或C
拉爾夫
機炮拳:A或C連打
格林機關炮:←(蓄)→+A或C
急降下爆彈:↓(蓄)↑+A或C
急降下爆彈:(跳躍中)↓↘→+A或C
超級阿根廷攻擊:(近身)←↙↓↘→+B或D
拉爾夫踢:←(蓄)→+B或D
*超級機炮拳:↓↘→↘↓↙←+A或C
*乘馬機炮拳:↓↙←↙↓↘→+B或D
*宇宙幻影:↓↘→↓↘→+A或C
克拉克
跳入死亡湖:(空投)↑以外+C或D
斷踢:→+B
機炮拳:A或C連打
凝固汽油彈:→↓↘+A或C
旋轉搖籃:←↙↓↘→+A或C
弗蘭肯必殺投:→↓↘+B或D
超級阿根廷阻撓者:(近身)←↙↓↘→+B或D
烈火閃光肘:(指令投中)↓↘→+A或C
*終結阿根廷攻擊:(近身)→↘↓↙←→↘↓↙←+A或C
*奔襲投擲:←↙↓↘→←↙↓↘→+B或D
-----------------
麻宮雅典娜 精神射擊:(空投)↑以外+C或D
連環腿:→+B
鳳凰彈:(跳躍中)↓+B
精神力球:↓↙←+A或C
鳳凰箭:(跳躍中)↓↙←+A或C
精神力反射波:→↘↓↙←+B或D
劃空光劍:→↓↘+A或C
空中光劍:(跳躍中)→↓↘+A或C
心靈傳送術:↓↘→+B或D
超級精神穿透:(近身)←↙↓↘→+C
*閃光水晶波:(跳躍可)←→↘↓↙←+A或C
》水晶超射:閃光水晶波中↓↙←+A或C
*鳳凰FANG箭:(跳躍中)↓↘→↓↘→+B或D
椎拳崇
虎撲手:→+A
后旋腿:→+B
超球彈:↓↙←+A或C
龍顎碎:←↓↙+B或D
龍連牙·地龍:←↙↓↘→+A
龍連牙·天龍:←↙↓↘→+C
龍爪襲:(跳躍中)↓↙←+A或C
龍連打:(近身)→↓↘+A或C連按
*神龍凄煌裂腳:↓↘→↘↓↙←+B
*神龍天舞腳:↓↘→↘↓↙←+D
*仙氣發動:(近身)↓↘→↓↘→+A或C
*食肉饅:↓↙←↓↙←+A或C
鎮元齋
醉步飄簞襲:→+A
瓢簞襲:↓↙←+A或C
柳磷蓬萊:→↓↘+A或C
回轉的空突拳:←↙↓↘→+B或D(醉管卷翁中→+B或D) 或 望月醉中→+B或D
醉管卷翁:↓↘→+A或C
蝶襲鮭魚:醉管卷翁中→+A或C
望月醉:↓↙←+B或D
龍蛇反蹦:望月醉中↑B
鯉魚反蹦:望月醉中↑D
鬼醉酒:↓↘→+A或C
*轟欄炎炮:↓↘→↓↘→+A或C
*轟欄招來:↓↘→↘↓↙←+A或C
----------------
神樂千鶴
百活·天神之理:→↓↘+A或C
二百式二活·神速之祝詞:→↘↓↙←+任一鍵
二百式二活·神速之祝詞+天瑞:神速之祝詞動作中↓↙←+任一鍵
百八活·玉響之瑟音:←↙↓↘→+A或C
二百十二活·乙式頂門之一針:↓↘→+任一鍵
*里面八十伍活·零技之礎:↓↙←↙↓↘→+A或C
*里而一活·三籟之布陣:↓↘→↓↘→+B或D
不知火舞
夢櫻:(空投)↑以外+C或D
紅鶴之舞:↘+B
花蝶扇:↓↘→+A或C
龍炎舞:↓↙←+A或C
飛翔龍炎舞:→↓↘+B或D
必殺忍蜂:←↙↓↘→+B或D
飛鼠之舞:↓(蓄)↑+A或C(按住不放)
飛鼠之舞:(跳躍中)↓↙←+A或C
白鷺之舞:→↓↘+A或C
*超必殺忍蜂:↓↙←↙↓↘→+B或D
*鳳凰之舞:↓↙←↓↙←+A或C
*水鳥之舞:↓↘→↓↘→+A或C
京
滑步踢:↘+D
毒蛇擊:↓↘→+B或D
雙毒蛇擊:↓↘→↓↘→+B或D
落地擊:→↓↘+B或D
龍卷踢:→↘↓↙←+B或D
驚異玫瑰:→↓↘+A或C
妄想踢:→↘↓↙←+A或C
*幻想之舞:↓↘→↘↓↙←+B或D
*沉默閃光:↓↙←↓↙←+B或D
---------------
金家藩
多拉打擊:→+A
定位打擊:→+B
飛燕斬:↓(蓄)↑+B或D(接↓B或D)
半月斬:↓↙←+B或D
飛翔腳:(跳躍中)↓↘→+B或D
流星落:←(蓄)→+B或D
空砂塵:↓(蓄)↑+A或C
*鳳凰腳:↓↙←↙→+B或D(跳躍中可)
*鳳凰天舞腳:(跳躍中)↓↘→↘↓↙←+B或D
陳可漢
輪逃:↘+A
鐵球粉碎擊:←(蓄)→+A或C
鐵球大回轉:A或C連打
鐵球飛燕斬:↓(蓄)↑+B或D
大破壞投擲:(近身)→↘↓↙←→+A或C
*鐵球大暴走:↓↘→↘↓↙←+A或C
*鐵球大壓殺:↓↘→↓↘→+A或C
蔡寶健
二段斬→+A
通魔蹴:→+B
龍卷疾風斬:↓(蓄)↑+A或C
飛翔空裂斬:↓(蓄)↑+B或D(按住不放)
旋風飛燕刺突:←(蓄)→+B或D
方向轉換:飛翔空裂斬、旋風飛燕刺突中方向鍵加攻擊鍵
飛翔腳:(跳躍中)↓↘→+B或D
疾走飛翔斬:←(蓄)→+A或C
*真!超絕龍卷疾風斬:→↘↓↙←→↘↓↙←+A或C
*鳳凰斬:↓↘→↘↓↙←+B或D
--------------
七枷社
滑步踢:→+B
飛彈強力錘:→↘↓↙←+A或C
升龍決斗:→↓↘+A或C
敲大錘:↓↙←+B或D
噴氣反擊:←↙↓↘→+A或C
*百萬大錘蒸汽:↓↙←↙↓↘→+A或C
*最終沖擊:↓↘→↓↘→+A或C ……乖乖地安睡吧!
夏爾米
夏爾米站立:→+B
夏爾米螺旋打:(近身)←↙↓↘→+A或C
夏爾米重炮:←↙↓↘→+B或D
夏爾米旋轉踢:↓↙←+B或D
夏爾米疊加:→↓↘+B或D
*夏爾米大閃耀:(近身)→↘↓↙←→↘↓↙←+A或C
*夏爾米狂歡:(近身)←↙↓↘→←↙↓↘→+A或C
克里絲
針刺:→+A
滑觸:↓↘→+A或C
獵殺的空氣:→↓↘+B或D
射殺舞者之突刺:→↘↓↙←+A或C
射殺舞者之舞步:→↘↓↙←+B或D
舞者之章:(跳躍中)↓↘→+B或D
*滑行者的踩踏:↓↙←↓↙←+B或D
*連續滑觸:↓↘→↓↘→+A或C
-----------------
瑪麗
大錘擊:→+A
上升之箭:↘+B
旋轉下落:↓↘→+B或D
瑪麗蜘蛛固:↓↘→+A或C
指天回旋腳:←(蓄)→+B或D
俱樂部飛標:指天回旋腳擊中后↓↘→+B或D
垂直之箭:→↓↘+B或D
瑪麗攫奪:垂直之箭擊中后→↓↘+B或D
瑪麗翻臉:↓↙←+B
頭部飛彈:↓↙←+D
回身真落:(近身)←↙↓↘→+A或C
*瑪麗臺風:(近身)→↘↓↙←→↘↓↙←+B或D
*瑪麗野玫瑰:↓↘→↘↓↙←+A或C
*動感閃光:↓↘→↓↘→+B或D
山崎龍二
打刺:→+A
蛇使·上段:↓↙←+A(可蓄)
蛇使·中段:↓↙←+B(可蓄)
蛇使·下段:↓↙←+C(可蓄)
蛇使取消:蛇拳蓄勁中D
施虐:←↙↓↘→+B或D
倍返:↓↘→+A或C
制裁之首:→↓↘+A或C
爆彈:(近身)←↙↓↘→+A或C
踢砂:→↓↘+B或D
*斷頭臺:↓↘→↓↘→+A或C
*射殺:(近身)→↘↓↙←→↘↓↙←+A或C(A+C連打蓄力) ……(完結時)你死定了!
比利
大回轉蹴:→+A
棒高跳蹴:→+B
三節棍中段打:←↙↓↘→+A或C
火炎三節棍中段打:三節棍中段打中↓↘→+A或C
旋風棍:A鍵連打
集點連破棍:C鍵連打
強襲飛翔棍:→↓↘+B或D
火龍追擊棍:↓↙←+B
水龍追擊棍:↓↙←+D
旋元殺棍:→↓↘+A或C
*超火炎旋風棍:↓↘→↘↓↙←+A或C
*大旋風:↓↘→↓↘→+A或C
---------------
八神庵 {暴走八神(按住開始鍵不放輸入←→←→←→+A+C}
……馬上就把你解決!
外式·影舞·夢彈:→+A+A
外式·轟斧陰·死神:→+B
外式·百合折:(跳躍中)←+B
百式·鬼燃燒:→↓↘+A或C
二百十二式·琴月陰:→↘↓↙←+B或D
百二十七式·葵花:↓↙←+A或C(可三回連續輸入)
屑風:(近身)←↙↓↘→+A或C
百八式·暗勾手:↓↘→+A或C
*禁千二百十一式·八稚女:↓↘→↘↓↙←+A或C ……哭吧,叫吧,然后就死吧!
*里百八式·八酒杯:↓↙←↙↓↘→+A或C
……每逢看到月亮就會想起我!
矢吹真吾 外式·轟斧造型:→+B
百式·鬼燃燒未完成:→↓↘+A或C
百十四式·荒咬未完成:↓↘→A
百十五式·毒咬未完成:↓↘→C
百一式·朧車未完成:↓↙←+B或D
真吾踢:←↙↓↘→+B或D
*外式·鳳鱗:↓↘→↓↘→+A或C
*燃燒真吾:↓↙←↙↓↘→+A或C
草雉京KOF94版(按住“開始鍵”不放選草雉京)
外式·轟斧陽:→+B
外式·奈落落:(跳躍中)↓+C
八十八式:↘+D
百八式·暗勾手:↓↘→+A或C
外式·朧車:←↓↙+B或D
百式·鬼燃燒:→↓↘+A或C
秘奧義里百八式·大蛇雉:↓↙←↙↓↘→+A或C
-------------------
在選出暴走莉安娜后,按住開始鍵不放輸入:↑←↓→↑↓+B+C就可以選出大蛇七枷社、大蛇夏爾米、大蛇克里絲
大蛇克里絲
針刺:→+A
射太陽之炎:↓↘→+A或C
摘月之炎:→↓↘+A或C
屠鏡之炎:↓↙←+A或C
咬四肢之炎:(近身)←↙↓↘→+A或C
*暗黑大蛇雉:↓↙←↙↓↘→+A或C
*拂大地之禁果:↓↘→↓↘→+A或C
大蛇夏爾米
夏爾米站立:→+B
無云之雷電←↙↓↘→+A或C或B或D
雷神之鞭↓↙←+A或C
雷神之杖(跳躍中)↓↘→+B或D
(不明)↓↙←+B或D
*暗黑雷光拳↓↘→↓↘→+A或C
*(不明)↓↙←↙↓↘→+B或D
……這就是你的命運…請安息吧…… 大蛇七枷社
滑步踢:→+B
(不明):←↙↓↘→+B或D
(不明):(近身)→↘↓↙←→+A或C
(不明):(近身)←↙↓↘→+A或C
挫大地:↓↙←+A或C
吼大地:↓↘→↓↘→+A或C(可蓄力)
*荒大地:(近身)←↙↓↘→←↙↓↘→+A或C ……乖乖地安睡吧!因為你馬上就要完結了!
*暗黑地獄極樂落:(近身)→↘↓↙←→↘↓↙←+A或C ……(MAX完結時)你認命吧!
------------------
大蛇 (KOF中的強者。SS版的大蛇選法:在練習模式中先選出上述5名隱藏角色,把光標移到普通克里斯處同時按下L、R、Y、Z、B五鍵一秒即可……有些街機經過修改也能直接選“大蛇”等人!)
注:PS版的有大改動
“黑粒子”:↓↘→A
“神指”:↓↘→B或C
“反彈盾”:↓↘→D{吸收(飛行道具)并反擊,也可用于狂加能量、硬直取消}
“靈氣柱”:→↘↓↙←任一鍵
*“掏魂”:→↓↘A或C
*“陽光普照”:↓↙←A或C ……一切都歸于『無』吧!
(一擊必殺:遠距↓↘→A》沖跳B》(↓)B》↓↙←A簡單的一招)
posted @ 2006-02-15 12:32 7夜 閱讀(8508) | 評論 (22) | 編輯 收藏
《J2EE核心模式》(第二版)
《Core J2EE Patterns》 (2nd Edition),Deepak Alur等著,劉天北等譯,機械工業出版社,2005年5月
譯者為這本書所做的序言已足夠直白:“如果說此前的各種教程都是在介紹J2EE開發中的‘內容’要素———也就是,教給我們‘做什么’———的話,本書關注的則是這里的‘形式’要素,是‘怎樣做’才能開發出高效的、優雅的J2EE系統。讀者從中學到的,將不僅僅是‘J2EE技術’,而是‘如何使用J2EE技術進行設計’。”不過,值得留意的是,這里所說的“J2EE技術”,應該更準確地描述為“Sun公司的J2EE技術”或者“正統J2EE技術”,即“基于EJB的J2EE技術”。由于某些原因(請容許我稍微賣個關子),這一類型的J2EE技術呈現出極大的復雜度,因此書中的解決方案(即“模式”)也往往呈現出令人敬畏的技巧。對于這本書,我的推薦意見是:讀者應該牢記其中的每個解決方案以及對于這些解決方案的敬畏感——這種敬畏感將有助于你充分理解下一本書的價值所在。
揭開前面埋下的伏筆:“正統的”J2EE之所以那么復雜,很大程度上正是因為EJB的存在。而作為一個擁有十年Java經驗和更長企業應用開發經驗的開發者,Rod Johnson堅信這個世界上確實有很多不那么復雜的問題,而為這些問題找到同樣不那么復雜的解決方案就是他(以及他的Spring框架)希望達到的目標。這本《J2EE Development without EJB》的妙處在于,它不僅指出了EJB的問題所在,更加闡述了一套完整自洽的、“Without EJB”的Java企業應用架構——全球第一大連鎖超市沃爾瑪的信息系統正是采用此架構搭建而成,這一事實足以證明該架構的合法性。之所以要將這本書放在《J2EE核心模式》之后推薦,是因為我擔心讀者在閱讀《J2EE Development without EJB》之后再也沒有興趣去閱讀前一本書,從而錯失了充分了解EJB技術的一個機會。
更值得稱道的是,Rod Johnson并不試圖宣稱自己的解決方案是Java企業應用的不二法門。貫穿全書,讀者可以感覺到Johnson最希望傳達給讀者的是一種基于實踐的“循證架構”方法。如果說這本書有其獨到的功德,我想那不是因為它宣傳了IoC或者AOP,而是因為它幫助一些讀者破除了技術的門戶之見,學會根據自己的需求和實踐檢驗來選擇架構。
《企業應用架構模式》
《Patterns of Enterprise Application Architecture》,Martin Fowler著,王懷民等譯,機械工業出版社,2004年7月
讀過前兩本書之后,讀者大概能夠對J2EE的常見技術、問題和解決方案有所了解,隨后粉墨登場的就該是Martin Fowler了。Fowler是一位善于總結他人經驗的技術傳教士,這本PoEAA便是他的典型作品之一:沒有任何原創材料,卻把很多“古而有之”的技術分析得絲絲入扣、闡述得鞭辟入里。其價值究竟有多大,只需看看諸如《J2EE核心模式》、《J2EE Development without EJB》、《.NET企業解決方案模式》一類好書有多么頻繁地引用其中的內容,便可以知道大概。
這本PoEAA的缺點——和其他很多模式類書籍一樣——是過于“形式化”:欠缺更具實際意義的范例,47個模式的列舉與闡述多少顯得有點干巴,而且對于“何時使用/不使用某個模式”這一問題的解答很難令人滿意。不過,在本文涉及的幾本書中,可能只有這一本是不需要額外推薦的,因為當你一次又一次地遇到別人在文章或交談中不加解釋地引用“Unit of Work”或者“Transaction Script”之類詞匯之后,你很難不去讀這本PoEAA。
《Enterprise Integration Patterns》
Gregor Hohpe等著,Addison-Wesley ,2003年10月(暫無中譯本)
這本書中有一句話深得我心:“如果有人跟你說企業應用集成是件很輕松的事,這人要么是聰明得出奇,要么是傻得出奇,要么就是出于商業原因希望讓你相信他即將兜售的某種東西。”對于習慣了面向對象的大多數Java程序員而言,充斥異步/跨進程調用的企業應用集成(EAI)不啻是一場噩夢;而在銀行/保險等信息化較早的機構中,EAI的需求又偏偏如同家常便飯。兩者之間的張力,使得這本書——在某些特定的時候,對于某些特定的人——有如天籟一般。在某種意義上,這本書對于破除大詞迷信也有一定的幫助:它將“面向服務架構”(SOA)作為企業應用集成的六種應用類型之一加以闡述,并總結了各種類型的適用場景和優缺點。Martin Fowler為它做的序中稱其為“PoEAA的姊妹書”——從填補了PoEAA所沒有覆蓋的一大類企業應用場景這一角度來說,這一稱號是名副其實的,而作者的技術與文筆也對得起這一贊譽。
《Java Modeling in Color with UML》
Peter Coad著,Prentice Hall ,1999年6月(暫無中譯本)
推薦最后這本書的目的是明確的:一位稱職的J2EE開發者應該具備一定的領域建模能力。但從知名度上來說,被推薦的對象似乎應該是《分析模式》或者《Domain Driven Design》,而不是這本幾乎從來沒在國內引起過關注的“小書”。遺憾的是,Martin Fowler那本書缺乏對實踐經驗的歸納總結,而Eric Evans那本對于“怎么把業務概念變成領域模型”這件最后的、卻絕非最不重要的事情語焉不詳。不過好在Peter Coad是出了名的鬼才,惟其如此才能保證區區221頁內容確實言之有物。
從計算機科學的角度來分析,越是形式化、可遞歸應用的方法就越具有可***作性。Eric Evans的DDD在“理解需求”方面的闡述很具可***作性,而Peter Coad提出的幾類基本元模型對于實際進行建模工作有著非比尋常的指導價值——當大多數人在分析業務領域模型時,Peter Coad在分析業務領域的元模型,其“鬼才”由此可見一斑。至于“帶顏色的UML”,無非是對元模型的一種直觀描述而已。對于面向對象(而非面向用例)的企業應用業務建模,這本“小書”便是首屈一指的最佳實踐指南。
讀者可以看到,在我推薦的五本書中,既沒有介紹時下流行的Hibernate、Spring等框架的專著,也沒有講述AOP、AJAX之類新興技術的著作。J2EE是一個實用至上的領域,尤其是在它已經完全成熟的今天,或許更有價值的是“如何使用”的指導。在我的推薦之中不乏已問世三、五年的“舊書”,由此或許可以證明:越陳越香的大概不只是美酒,還包括技術的積淀。
posted @ 2006-02-13 09:50 7夜 閱讀(320) | 評論 (0) | 編輯 收藏