出版時(shí)間:2010-3 出版社:清華大學(xué)出版社 作者:(美)康納利 等著,馮飛 譯 頁(yè)數(shù):422 字?jǐn)?shù):663000 譯者:馮飛
Tag標(biāo)簽:無(wú)
前言
為什么這世上還需要另一個(gè)Web架構(gòu)? 這個(gè)問(wèn)題可能一直就在讀者的腦里盤(pán)旋,也可能是當(dāng)有人看到本書(shū)放在書(shū)架上面時(shí)會(huì)有這一疑問(wèn)。在過(guò)去的幾年里,本書(shū)的幾個(gè)作者也多次思考這一問(wèn)題。 確實(shí),現(xiàn)在市面上有很多架構(gòu)在行業(yè)上使用,而且充滿(mǎn)了各種噱頭。簡(jiǎn)而言之,很容易讓人產(chǎn)生懷疑。就像本書(shū)的作者一樣,在較深入地研究了最新最好的Web架構(gòu)之后,他們都不約而同地意識(shí)到在過(guò)去的10年里這一行業(yè)已經(jīng)走得很遠(yuǎn)。 早在1997年,Rob就開(kāi)始使用Classic ASP來(lái)為Web編程,曾一度沉浸于刺激和興奮中。隨著.NET的出現(xiàn),他記得他曾經(jīng)跑出自己的辦公室,讓所有人停下手頭的工作,然后向他們解釋到:世界繞著他的軸傾斜了?! ∽髡邔?duì)于A(yíng)SENETMVC也有相同的感覺(jué)。這不是因?yàn)樗芭c眾不同”,而是因?yàn)樗蜷_(kāi)發(fā)人員提供了“按照自己的方式工作”的機(jī)會(huì)。不喜歡平臺(tái)提供的視圖?那么修改它。ASENET MVC架構(gòu)幾乎每個(gè)部分都是“可互換的”——就好比,如果嫌鞋子小的話(huà),就換一雙。不喜歡領(lǐng)帶?為什么不用領(lǐng)結(jié)呢?一切盡在掌握中。 ASENETMVC是一個(gè)有著大量約定的Web架構(gòu)。如果遵循這些約定,您的工作會(huì)變得很簡(jiǎn)單;但是如果不需要這些約定,那么您可以迅速脫離該架構(gòu),按照自己想要的方式來(lái)完成工作。 雖然本書(shū)探討的是關(guān)于A(yíng)SENETMVC所帶來(lái)的“獨(dú)特”體驗(yàn),但是更為重要的是,讀者將會(huì)學(xué)到通過(guò)自己的方式來(lái)拓展ASENETMVC的更實(shí)用的方法——然后,讀者可能會(huì)希望與其他人共享這些技巧?! ∮捎谄淇蓴U(kuò)充性以及關(guān)注于“按自己的方式工作”,所以本書(shū)的作者很高興地接受了這個(gè)Web架構(gòu),并希望讀者與他們同行。
內(nèi)容概要
ASP.NET MVC架構(gòu)是以一些核心原則(可擴(kuò)展性、可測(cè)試性和關(guān)注點(diǎn)分離)為指導(dǎo)從頭設(shè)計(jì)而成的。該架構(gòu)添加了各種約定以幫助開(kāi)發(fā)人員走向成功,并且提供了適合于Web工作方式的流線(xiàn)型開(kāi)發(fā)體驗(yàn)。 對(duì)于想剝離抽象層并接近事物實(shí)質(zhì)的開(kāi)發(fā)人員來(lái)說(shuō),ASP.NET MVC就很合適。對(duì)于特別關(guān)心架構(gòu)如何組合在一起的開(kāi)發(fā)人員來(lái)說(shuō),ASP.NET MVC也極具擴(kuò)展性,幾乎允許對(duì)其任何部分進(jìn)行定制,甚至可按個(gè)人喜好整體替換。 本書(shū)由ASP.NET小組成員編寫(xiě),Scott Guthrie首先提供了一個(gè)說(shuō)明如何構(gòu)建應(yīng)用程序的完整演示,然后深入介紹MVC的基本概念和歷史,并快速過(guò)渡到討論ASP.NET MVC模式如何實(shí)現(xiàn)這些概念。在學(xué)習(xí)本書(shū)的過(guò)程中,您將理解在從傳統(tǒng)的ASP.NET Web Forms轉(zhuǎn)移到ASP.NET MVC時(shí)所需的思維轉(zhuǎn)換以及一旦轉(zhuǎn)移后所獲得的收益。
作者簡(jiǎn)介
Rob Conery,在Microsoft的ASP.NET小組中工作。他是SubSonic的創(chuàng)建者,也是Commerce Starter Kit(一個(gè)免費(fèi)的.NET開(kāi)放源代碼的電子商務(wù)平臺(tái))的主要設(shè)計(jì)師。他和他的妻子以及兩個(gè))L(Maddy和Ruby)住在夏威夷的考艾島?! cott Guthrie,是Microsoft的.NET Developer Division的副總裁。他所率領(lǐng)的開(kāi)發(fā)小組主要負(fù)責(zé)交付Microsoft Visual Studio開(kāi)發(fā)工具以及用于構(gòu)建客戶(hù)端和Wleb應(yīng)用程序的Microsoft.NET架構(gòu)技術(shù)。作為.NET項(xiàng)目的主創(chuàng)人員,Guthrie自1999年以來(lái)就一直在ⅥsualStudio和.NET架構(gòu)的設(shè)計(jì)和開(kāi)發(fā)中扮演著非常重要的角色。Guthrie還負(fù)責(zé)Microsoft的wleb服務(wù)器平臺(tái)和開(kāi)發(fā)工具小組的工作。最近,他還促成了Silverlight的開(kāi)發(fā),silverlight是一款跨瀏覽器,是用來(lái)交付下一代媒體經(jīng)驗(yàn)以及wleb上豐富的Intemet應(yīng)用程序的跨平臺(tái)插件。現(xiàn)在,Guthrie直接管理的開(kāi)發(fā)小組有很多,這些小組分別負(fù)責(zé)構(gòu)建公共語(yǔ)言運(yùn)行厙(CLR)、ASENET、Silverlight、Windows Presentation Foundation(WPF)、IIS、CommerceServer以及用于Web、客戶(hù)端和Silverlight開(kāi)發(fā)的Visual Studio Tools。Guthrie畢業(yè)于杜克大學(xué)的計(jì)算機(jī)科學(xué)專(zhuān)業(yè)?! hil Haack,是ASP.NET小組的高級(jí)編程經(jīng)理,主要負(fù)責(zé)ASENET MVC項(xiàng)目。在加入Microsoft之前,Phil Haack曾是一個(gè)代碼搜索引擎的產(chǎn)品經(jīng)理、一家網(wǎng)絡(luò)游戲公司的開(kāi)發(fā)經(jīng)理,也曾是流行西班牙語(yǔ)電視網(wǎng)絡(luò)的高級(jí)設(shè)計(jì)師。作為一名編碼的狂熱者,Phil Haack喜歡制作軟件。他不僅僅喜歡編寫(xiě)軟件,而且熱衷于在他的博客(http:∥haacked.com)上撰寫(xiě)關(guān)于軟件和軟件管理的內(nèi)容。在閑暇時(shí)間,Phil Haack向各種開(kāi)放源代碼的項(xiàng)目投稿,他是Subtext博客引擎項(xiàng)目的創(chuàng)建人,這個(gè)項(xiàng)目當(dāng)然也正在使用ASENET MVC來(lái)重寫(xiě)。
書(shū)籍目錄
第1章 NerdDinner第2章 MVC與ASP.NET第3章 ASP.NE>ASP.NET MVC第4章 路由和URL第5章 控制器第6章 視圖第7章 AJAX第8章 過(guò)濾器第9章 保護(hù)應(yīng)用程序的安全第10章 使用ASP.NET MVC進(jìn)行測(cè)試驅(qū)動(dòng)開(kāi)發(fā)第11章 可測(cè)試的設(shè)計(jì)模式第12章 將Web Forms和MVC相結(jié)合
章節(jié)摘錄
在開(kāi)始深入討論測(cè)試驅(qū)動(dòng)開(kāi)發(fā)(Test Driven Development,TDD)之前,本書(shū)作者將先澄清一件事情。ASENET MVC不只是提供給那些實(shí)踐測(cè)試驅(qū)動(dòng)開(kāi)發(fā)的人使用的。因此,如果您不打算實(shí)踐TDD且計(jì)劃跳過(guò)本章,那么請(qǐng)稍等片刻。本書(shū)并沒(méi)有試圖勸服讀者轉(zhuǎn)為使用TDD或?yàn)槠洳嫉溃m然Phil可能在街角遇到您的時(shí)候會(huì)這樣勸服您),但是這里提供了一個(gè)機(jī)會(huì)來(lái)解釋為什么Microsoft努力讓該架構(gòu)對(duì)TDD迷們很友好,即使您不喜歡TDD,但是這一努力確實(shí)會(huì)對(duì)您有益?! ∧敲?,當(dāng)討論ASEN-El MVC時(shí),為什么都集中在TDD上?為了理解這一答案,可以從歷史的角度來(lái)理解,這將是很有幫助的。在一開(kāi)始設(shè)計(jì)ASP.NET時(shí),開(kāi)發(fā)人員沒(méi)有時(shí)刻牢記TDD的思想。當(dāng)時(shí),TDD還處于其最初的發(fā)展階段,沒(méi)有像今天這樣廣為采用。因此,因?yàn)锳SENET的很多領(lǐng)域都與其他子系統(tǒng)緊密耦合在一起,所以它們向那些為利用這些領(lǐng)域的開(kāi)發(fā)人員編寫(xiě)自動(dòng)化單元測(cè)試的人帶來(lái)了挑戰(zhàn)?! ±斡浛蓽y(cè)試性而設(shè)計(jì)出來(lái)的架構(gòu)要比只能夠編寫(xiě)單元測(cè)試帶來(lái)更多的好處。因?yàn)榫帉?xiě)正確的單元測(cè)試通常需要隔離架構(gòu)的片斷并交換架構(gòu)用于雙重測(cè)試(完全處于掌控下的接口的虛假實(shí)現(xiàn))的其他依賴(lài)性,所以這種架構(gòu)作為其可測(cè)試的副產(chǎn)品,極具可擴(kuò)充性?! ∈聦?shí)證明,就可測(cè)試性而言,TDD專(zhuān)業(yè)人士具有很高的需求。TDD是一種代碼設(shè)計(jì)的動(dòng)作,它生成單元測(cè)試,因此需要內(nèi)在的架構(gòu)是天生可測(cè)試的。雖然處理不可測(cè)試領(lǐng)域的技術(shù)也存在,但是如果一個(gè)架構(gòu)要求太多這樣的工作區(qū),則將導(dǎo)致與TDD專(zhuān)業(yè)人士之間產(chǎn)生很多摩擦。在這種情況下,這種摩擦往往讓人們感到很不愉快。 如果ASENET MVC架構(gòu)可以將這種摩擦降至最低,那么這不僅是TDD專(zhuān)業(yè)人士將從中受益,而且所有需要使用和擴(kuò)充架構(gòu)的開(kāi)發(fā)人員都將從中受益。這就是為什么會(huì)產(chǎn)生所有圍繞TDD和.ASENET MVC的忙亂。
圖書(shū)封面
圖書(shū)標(biāo)簽Tags
無(wú)
評(píng)論、評(píng)分、閱讀與下載
ASP.NET MVC 1.0高級(jí)編程 PDF格式下載
250萬(wàn)本中文圖書(shū)簡(jiǎn)介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書(shū)網(wǎng) 手機(jī)版