<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆 - 81  文章 - 1033  trackbacks - 0
    <2007年2月>
    28293031123
    45678910
    11121314151617
    18192021222324
    25262728123
    45678910

    在浮躁的年代里,我們進(jìn)取心太切,患得患失;虛榮心太強(qiáng),戰(zhàn)戰(zhàn)兢兢。一心爭(zhēng)強(qiáng)好勝,惟恐榜上無名。
    I think I can fly , and flying like a bird !
    程序員一名,已售出,缺貨中!

    我的郵件聯(lián)系方式

    用且僅用于MSN

    博客點(diǎn)擊率
    free web counter
    free web counter

    常用鏈接

    留言簿(36)

    隨筆檔案

    搜索

    •  

    積分與排名

    • 積分 - 187013
    • 排名 - 309

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    ??? 開始整理WebWork學(xué)習(xí)筆記,一來融入一些自己的觀點(diǎn)以備忘,二來給Team里兄弟們快速學(xué)習(xí)和上手的捷徑,提高工作效率。不過總的來說希望能從它學(xué)到的思想多過與如何用它,也希望大家一起討論一起分享。

    ??? 嚴(yán)重同意Rickard(WebWork的創(chuàng)造者 JBoss創(chuàng)始人之一 大牛)在創(chuàng)造這個(gè)框架時(shí)所基于的幾個(gè)哲學(xué)原則:實(shí)現(xiàn)某個(gè)功能的正確方式應(yīng)該是最簡(jiǎn)單的;阻礙最少的途徑應(yīng)該是正確的;在過于復(fù)雜和功能簡(jiǎn)陋之間應(yīng)該存在一個(gè)很好的平衡點(diǎn)。我想但凡框架都應(yīng)該帶著這些原則去創(chuàng)造和運(yùn)用,讓工作變得更加簡(jiǎn)單。后面將會(huì)討論什么是框架什么是容器,我想你會(huì)對(duì)這些哲學(xué)理解的更加深刻。

    ??? WebWork是一個(gè)優(yōu)雅的框架,它的設(shè)計(jì)基于這樣一個(gè)基本原理:完成通用任務(wù)應(yīng)該是簡(jiǎn)單的,而構(gòu)建高級(jí)的設(shè)計(jì)也應(yīng)該是可行的。WebWork的開發(fā)者只想提供一個(gè)能夠為你工作的框架,而不是一個(gè)與你作對(duì)的框架。

    一、關(guān)于大家熟知的MVC

    ??? 眾所周知MVC(Model-View-Controller)已經(jīng)成為在Web應(yīng)用程序開發(fā)中具有統(tǒng)治地位的構(gòu)架了,而WebWork可以說是目前最為優(yōu)雅和強(qiáng)大的MVC框架,同時(shí)也提供了一個(gè)擁有許多特征的微容器供你使用。下面就先來討論一下MVC。

    ??? 最早的MVC是在SmallTalk語言中提出的,現(xiàn)在已經(jīng)被廣泛的運(yùn)用在Web應(yīng)用程序開發(fā)中。經(jīng)典的MVC模式事件流是這樣的:用戶與視圖(View)進(jìn)行交互,填入數(shù)據(jù)點(diǎn)擊按鈕,控制器(Controller)接受到來自視圖的時(shí)間并對(duì)模型(Model)進(jìn)行操作,根據(jù)用戶提供的數(shù)據(jù)更新模型。視圖也會(huì)接到“模型改變”的事件通知,因此它會(huì)隨著模型更新,將模式的更新結(jié)果顯示給用戶。但是由于HTTP協(xié)議的特殊性這種形式在Web程序中是無法實(shí)現(xiàn)的。

    ??? 在Web應(yīng)用程序中經(jīng)典的MVC是通過前端控制器(Front Controller)模式實(shí)現(xiàn)的。這種模式包含一個(gè)分發(fā)器,而分發(fā)器將請(qǐng)求URL映射到需要被執(zhí)行的命令實(shí)例(action)。命令實(shí)例再與系統(tǒng)后臺(tái)服務(wù)進(jìn)行交互,通常這些服務(wù)就理解為模型。命令實(shí)例在處理完業(yè)務(wù)邏輯后返回一個(gè)碼值,而這個(gè)碼值被映射到一個(gè)視圖。最后結(jié)合控制器和模型,視圖將會(huì)呈現(xiàn)給用戶。通常視圖會(huì)使用標(biāo)簽庫,以便更簡(jiǎn)單的訪問需要顯示的數(shù)據(jù)。還有一種MVC的實(shí)現(xiàn),稱之為頁面控制器(Page Controller),在這里可以找到一些資料http://www.microsoft.com/china/MSDN/library/architecture/patterns/esp/EspWebPresentationPatterns.mspx,本篇暫不討論。

    二、不用WebWork也一定要理解的內(nèi)容---何為框架、何為容器,它們到底有什么用?

    ???1.框架

    ??? 最近經(jīng)常聽到朋友們對(duì)框架會(huì)有兩種聲音,一種是盛贊框架,聲稱有了框架天下無敵,開發(fā)效率翻番,開發(fā)效果加倍等等;另一種則是極其厭惡,太多配置,太多限制,太多不同意,有意加大學(xué)習(xí)坡度,加大升級(jí)的難度,加大大家的工作量等等。(甚至有人在BeanSoft兄的blog里說再也不看他的所有文章,只因他發(fā)了一下框架的牢騷)漸漸的大家都有了一種框架情節(jié),一邊是崇拜而另一邊則聽到框架就頭疼(框架豈不淪落到超女一樣的下場(chǎng),不該不該)。框架實(shí)在不該背負(fù)這么多,大家在選擇使用或不使用框架前都必須知道何為框架,何為容器,它們到底有什么用?

    ??? Rickard在構(gòu)建最原始版本W(wǎng)ebWork的時(shí)候曾經(jīng)說過:框架的強(qiáng)大之處不是源自它能讓你做什么,而是它不能讓你做什么。理解為:框架使混亂的東西變得結(jié)構(gòu)化。而Web應(yīng)用程序框架則鼓勵(lì)開發(fā)人員使用一系列框架所提供的基礎(chǔ)類和類庫避免雜亂的JSP,servlet所帶來混亂。

    ??? Struts曾經(jīng)紅極一時(shí),即使使現(xiàn)在在國內(nèi)也使使用者最多的框架之一。但它現(xiàn)在受到越來越多的質(zhì)疑,最后不得不選擇和WebWork合并來期待扭轉(zhuǎn)乾坤。主要是因?yàn)殡S著時(shí)間的推移,開發(fā)者越來越成熟,應(yīng)用程序也越來越成熟,而Struts太多地方限制的過于嚴(yán)格,一些實(shí)現(xiàn)的方式過于別扭和死板,從最開始的給予很多結(jié)構(gòu)化的東西從而使開發(fā)者很具安全感,到現(xiàn)在的過分限制創(chuàng)造力而成為開發(fā)者的夢(mèng)魘。也正如框架的悲觀派BeanSoft兄所說是它開創(chuàng)了通過大量雜亂無章的配置文件來做程序的先河(沒有考證,呵呵)。

    ??? WebWork是鼓勵(lì)創(chuàng)造的。WebWork找到了框架結(jié)構(gòu)和創(chuàng)造力之間的一種平衡,在后面的筆記中你將體會(huì)的更深。

    ??? 2.容器

    ??? 框架定義了不能做什么,而容器則定義了可以或者說能夠做什么。比如說Web容器有的支持servlet2.2有的則支持了servlet2.4,有的提供了良好的啟動(dòng)和運(yùn)行速度,有的則提供了更好的集群計(jì)算能力。一個(gè)容器擁有越多有用的特性,它將越強(qiáng)大、越好。容器支持我們?nèi)プ鲆恍┦虑椋覀円残枰闹С郑?/b>注意前面說過框架則是限制我們?nèi)プ鲆恍┦虑椤?br />
    ??? WebWork提供了自己的輕量級(jí)容器,你可以從容器中獲得諸如IoC、AOP等一系列的特性支持,使你從中受益。當(dāng)然必須說明的是WebWork的核心是MVC框架,而并非這個(gè)輕量級(jí)容器,甚至它是一個(gè)可選的部分。但要想構(gòu)建出迷人、優(yōu)雅的Web應(yīng)用程序,發(fā)揮更多的創(chuàng)造力,你可能離不開它并會(huì)真的愛上它。
    ???
    ??? 上面提到WebWork的容器是一個(gè)可選的部分,它是松耦合的,所以你完全可以選擇你更熟悉和信耐及更適合當(dāng)前項(xiàng)目的容器(如Spring、PicoContainer等)來提供相關(guān)特征。


    ??? 最后我們來提一下WebWork的核心,一個(gè)底層組件---XWork,它是一個(gè)比WebWork更單純更輕量級(jí)的框架(我覺得不太準(zhǔn)確,不過暫且稱它做一個(gè)框架吧)。在這里并不打算討論它,因?yàn)閷?duì)于剛接觸WebWork的開發(fā)者來說,XWork和WebWork這兩個(gè)詞的相似必定帶來很多的混亂。如果有興趣可以google一下,查找XWork的相關(guān)資料來學(xué)習(xí)。

    ??? 在下一篇我們將一步一步的完成一個(gè)HelloWorld程序(想必大家學(xué)習(xí)其他技術(shù)也都離不開經(jīng)典的HelloWorld吧),從而對(duì)WebWork的基礎(chǔ)內(nèi)容有一個(gè)大概的了解。我們?cè)谀愕牡谝粋€(gè)WebWork程序里見吧!
    posted on 2007-02-08 16:22 cresposhi 閱讀(2493) 評(píng)論(13)  編輯  收藏

    FeedBack:
    # re: WebWork In Action學(xué)習(xí)筆記(一) WebWork的概貌 2007-02-08 16:40 梅穎
    請(qǐng)問博主(二)什么時(shí)候出來啊?  回復(fù)  更多評(píng)論
      
    # re: WebWork In Action學(xué)習(xí)筆記(一) WebWork的概貌 2007-02-08 16:41 sinoly
    搶沙發(fā)。。。唉。。終于搞了一次。。。搶了再看滴說  回復(fù)  更多評(píng)論
      
    # re: WebWork In Action學(xué)習(xí)筆記(一) WebWork的概貌 2007-02-08 16:42 施偉
    晚上就寫,明天應(yīng)該有得看吧。呵呵
    多謝美女支持!  回復(fù)  更多評(píng)論
      
    # re: WebWork In Action學(xué)習(xí)筆記(一) WebWork的概貌 2007-02-08 16:43 sinoly
    @梅穎
    你咋這么快?  回復(fù)  更多評(píng)論
      
    # re: WebWork In Action學(xué)習(xí)筆記(一) WebWork的概貌 2007-02-08 17:21 BeanSoft
    所以現(xiàn)在有人說微容器才是出路...  回復(fù)  更多評(píng)論
      
    # re: WebWork In Action學(xué)習(xí)筆記(一) WebWork的概貌 2007-02-08 17:30 梅穎
    呵呵,你只比我晚一點(diǎn)個(gè),有前途啊,呵呵,我是劉翔  回復(fù)  更多評(píng)論
      
    # re: WebWork In Action學(xué)習(xí)筆記(一) WebWork的概貌 2007-02-08 18:53 小祝
    優(yōu)雅,強(qiáng)大。。。
    嗯,不錯(cuò),多寫點(diǎn)啊,哈哈,我站在你肩上學(xué)算了,學(xué)的快一些。
    我已經(jīng)減了好多了,應(yīng)該不重的,呵呵。
    感激ing。。。  回復(fù)  更多評(píng)論
      
    # re: WebWork In Action學(xué)習(xí)筆記(一) WebWork的概貌 2007-02-08 19:37 睿不可當(dāng)
    我也搬個(gè)板凳來學(xué)習(xí)!  回復(fù)  更多評(píng)論
      
    # re: WebWork In Action學(xué)習(xí)筆記(一) WebWork的概貌 2007-02-09 09:21 施偉
    多謝捧場(chǎng),共同進(jìn)步!  回復(fù)  更多評(píng)論
      
    # re: WebWork In Action學(xué)習(xí)筆記(一) WebWork的概貌 2007-02-09 09:34 王彥鋒的技術(shù)實(shí)踐
    寫的不錯(cuò),看的出來是真正做項(xiàng)目的,全部是實(shí)際經(jīng)驗(yàn)和感悟,贊一個(gè)!  回復(fù)  更多評(píng)論
      
    # re: WebWork In Action學(xué)習(xí)筆記(一) WebWork的概貌 2007-02-09 11:22 梅穎
    多謝多謝,呵呵,贊哦~  回復(fù)  更多評(píng)論
      
    # re: WebWork In Action學(xué)習(xí)筆記(一) WebWork的概貌 2007-02-09 14:22 kirari_wxy
    這個(gè)是現(xiàn)在的王者  回復(fù)  更多評(píng)論
      
    # re: WebWork In Action學(xué)習(xí)筆記(一) WebWork的概貌 2007-03-14 00:13 popo
    我想遷移到Struts2后前途會(huì)更加看好,apache從來不出次品,呵呵。  回復(fù)  更多評(píng)論
      

    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 狼友av永久网站免费观看| 亚洲色图在线观看| 免费的黄网站男人的天堂| 国产一级淫片免费播放电影| eeuss在线兵区免费观看| 国产亚洲综合久久系列| 国产精品亚洲lv粉色| 一区二区免费视频| 亚洲狠狠成人综合网| 亚洲国产精品狼友中文久久久| 日本免费中文字幕| 国产成人亚洲综合一区| 亚洲人成人无码网www电影首页| 亚洲电影免费观看| 免费夜色污私人影院网站| 亚洲伊人久久大香线蕉苏妲己| 天天干在线免费视频| 两个人看的www免费高清| 国产精品V亚洲精品V日韩精品| 久久久久久毛片免费播放| 久久亚洲精品无码播放| 国产91免费视频| 亚洲无人区视频大全| 亚洲国产精品一区二区第四页| 4444www免费看| 一级成人生活片免费看| 亚洲第一区精品日韩在线播放| 91av视频免费在线观看| 又粗又长又爽又长黄免费视频| 亚洲日本韩国在线| 欧美在线看片A免费观看| 国产一级片免费看| 亚洲精品永久www忘忧草| 99re6热视频精品免费观看| 美女露100%胸无遮挡免费观看| 亚洲妓女综合网99| 亚洲三区在线观看无套内射| 国产免费资源高清小视频在线观看| 亚洲精品视频在线免费| 中文字幕的电影免费网站| 国产天堂亚洲精品|