今天跟SUN的高級(jí)工程師有了些交流,感觸頗多。首先要談到它的一個(gè)產(chǎn)品(其實(shí)不能叫產(chǎn)品)JEF,也就是Java Enterprise Framework。JEF可以說(shuō)是很多框架和組件的有機(jī)結(jié)合,有opensource的,有商業(yè)的,也有sun自己寫(xiě)的,其實(shí)也是SUN在多個(gè)大規(guī)模項(xiàng)目中不斷實(shí)踐的基礎(chǔ)上發(fā)展起來(lái)的。它通過(guò)定義良好的分層和封裝,能夠提供應(yīng)用開(kāi)發(fā)非常堅(jiān)實(shí)的基礎(chǔ)。下圖是JEF的整體架構(gòu)圖:


有機(jī)會(huì)再進(jìn)行對(duì)它整體架構(gòu)和各個(gè)組件功能的詳談吧。
再談一談對(duì)真正的系統(tǒng)架構(gòu)師的認(rèn)識(shí)。JEF的2個(gè)主要設(shè)計(jì)者我都見(jiàn)過(guò)了,都是香港人,都溫文爾雅,學(xué)識(shí)淵博,經(jīng)驗(yàn)豐富。能夠聆聽(tīng)它們對(duì)軟件架構(gòu)的理解,對(duì)項(xiàng)目實(shí)際問(wèn)題的分析和解決,真的是受益匪淺,對(duì)自己將來(lái)進(jìn)行設(shè)計(jì)時(shí)思考問(wèn)題的深度和廣度都有很大的提高。這才是真正的架構(gòu)師!他需要對(duì)各種框架,組件都了如指掌,在面對(duì)具體的項(xiàng)目需求時(shí)能正確的選擇最適用的技術(shù);他需要對(duì)軟件整體架構(gòu)有清晰的認(rèn)識(shí)和理解,知道在面對(duì)實(shí)際項(xiàng)目時(shí)該使用何種架構(gòu),包括thin client還是rich client,with EJB還是without EJB等等;他需要有一種嚴(yán)謹(jǐn)求證的性格,對(duì)任何東西不是盲目下結(jié)論,而是根據(jù)具體的分析和實(shí)證進(jìn)行取舍。。。。。。通往真正的架構(gòu)師的路還很長(zhǎng),需要經(jīng)歷的項(xiàng)目,需要做的事情還很多。我們不能盲目尊大(拿spring+hibernate做個(gè)小項(xiàng)目就以為很牛),也不能喪失信心(經(jīng)驗(yàn)和領(lǐng)會(huì)都是靠項(xiàng)目做出來(lái)的)。我們應(yīng)該時(shí)刻保持向上的心態(tài),去主動(dòng)參與項(xiàng)目,去溝通,去交流,去總結(jié),去思考。即使將來(lái)成不了真正的架構(gòu)師,我們也可以自豪的說(shuō):“我每一步都是踏實(shí)的走下來(lái)的,我每一個(gè)項(xiàng)目都是用心在做的,我的代碼都是注釋詳實(shí),簡(jiǎn)單易懂,為后來(lái)者提供很好的可重用基礎(chǔ)的而不是被人咒罵的,我做的是可用的軟件而不是垃圾軟件。”希望與所有有志于成為真正的系統(tǒng)架構(gòu)師的同學(xué)共勉。