外文翻譯StrutsMVC 的一種開放源碼實(shí)現(xiàn)
《外文翻譯StrutsMVC 的一種開放源碼實(shí)現(xiàn)》由會(huì)員分享,可在線閱讀,更多相關(guān)《外文翻譯StrutsMVC 的一種開放源碼實(shí)現(xiàn)(25頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
附件 1:外文資料翻譯譯文 一種開放源碼實(shí)現(xiàn) 本文介紹 它 是 使 用 術(shù)的一種 現(xiàn)。 幫助您控制 目中的變化并提高專業(yè)化水平。盡管您可能永遠(yuǎn)不會(huì)用 現(xiàn)一個(gè)系統(tǒng),但您可以將其中的一些思想用于您以后的 頁的實(shí)現(xiàn)中。 簡(jiǎn)介 小學(xué)生也可以在因特網(wǎng)上發(fā)布 頁。但是,小學(xué)生的網(wǎng)頁和專業(yè)開發(fā)的網(wǎng)站有質(zhì)的 區(qū)別。網(wǎng)頁設(shè)計(jì)人員(或者 發(fā)人員)必須理解顏色、用戶、生產(chǎn)流程、網(wǎng)頁布局、瀏覽器兼容性、圖像創(chuàng)建和 等。設(shè)計(jì)漂亮的網(wǎng)站需要做大量的工作,大多數(shù) 發(fā)人員更注重創(chuàng)建優(yōu)美的對(duì)象接口,而不是用戶界面。 技術(shù)為網(wǎng)頁設(shè)計(jì)人員和 發(fā)人員提供了一種聯(lián)系鈕帶。 如果您開發(fā)過大型 用程序,您就理解 變化 這個(gè)詞的含義。 “ 模型 控制器 ”(就是用來幫助您控制變化的一種設(shè)計(jì)模式。 弱了業(yè)務(wù)邏輯接口 和數(shù)據(jù)接口之間的耦合。 一種 現(xiàn),它將 記(屬于 范)用作實(shí)現(xiàn)的一部分。盡管您可能永遠(yuǎn)不會(huì)用 現(xiàn)一個(gè)系統(tǒng),但了解一下 許使您能將其中的一些思想用于您以后的 現(xiàn)中。 模型 控制器 (記只解決了部分問題。我們還得處理驗(yàn)證、流程控制和更新應(yīng)用程序的狀態(tài)等問題。這正是 揮作用的地方。 過將問題分為三個(gè)類別來幫助解決單一模塊方法所遇 到的某些問題: ? 型) 模型包含應(yīng)用程序的核心功能。模型封裝了應(yīng)用程序的狀態(tài)。有時(shí)它包含的唯一功能就是狀態(tài)。它對(duì)視圖或控制器一無所知。 ? 圖) 視圖提供模型的表示。它是應(yīng)用程序的 外觀 。視圖可以訪問模型的讀方法,但不能訪問寫方法。此外,它對(duì)控制器一無所知。當(dāng)更改模型時(shí),視圖應(yīng)得到通知。 ? 制器) 控制器對(duì)用戶的輸入作出反應(yīng)。它創(chuàng)建并設(shè)置模型。 軟件開發(fā)人員提出了一些特有的挑戰(zhàn),最明顯的就是客戶機(jī)和服務(wù)器的無狀態(tài)連接。這 種無狀態(tài)行為使得模型很難將更改通知視圖。在 ,為了發(fā)現(xiàn)對(duì)應(yīng)用程序狀態(tài)的修改,瀏覽器必須重新查詢服務(wù)器。 另一個(gè)重大變化是實(shí)現(xiàn)視圖所用的技術(shù)與實(shí)現(xiàn)模型或控制器的技術(shù)不同。當(dāng)然,我們可以使用 者 C/C++ 或別的語言)代碼生成 種方法有幾個(gè)缺點(diǎn): ? 序員應(yīng)該開發(fā)服務(wù),而不是 ? 更改布局時(shí)需要更改代碼。 ? 服務(wù)的用戶應(yīng)該能夠創(chuàng)建網(wǎng)頁來滿足它們的特定需要。 ? 網(wǎng)頁設(shè)計(jì)人員不能直接參與網(wǎng)頁開發(fā)。 ? 嵌在代碼中的 難看。 對(duì)于 要修改標(biāo)準(zhǔn)的 式。圖 4 顯示了 寫版,通常也稱為 或 。 圖 4. 的一種實(shí)現(xiàn) 一組相互協(xié)作的類、 記,它們組成一個(gè)可重用的 設(shè)計(jì)。這 個(gè)定義表示 一個(gè)框架,而不是一個(gè)庫,但 包含了豐富的標(biāo)記庫和獨(dú)立于該框架工作的實(shí)用程序類。圖 5 顯示了 一個(gè)概覽。 圖 5. 覽 覽 ? 戶瀏覽器) 來自客戶瀏覽器的每個(gè) 求創(chuàng)建一個(gè)事件。 器將用一個(gè) 應(yīng)作出響應(yīng)。 ? 制器) 控制器接收來自瀏覽器的請(qǐng)求,并決定將這個(gè)請(qǐng)求發(fā)往何處。就 言,控制器是以 現(xiàn)的一個(gè)命令設(shè)計(jì)模式。 件配置控制器。 ? 業(yè)務(wù)邏輯 業(yè)務(wù)邏輯更新模型的狀態(tài),并幫助控制應(yīng)用程序的流程。就 言,這是通過作為實(shí)際業(yè)務(wù)邏輯 “ 瘦 ” 包裝的 完成的。 ? 型)的狀態(tài) 模型表示應(yīng)用程序的狀態(tài)。業(yè)務(wù)對(duì)象更新應(yīng)用程 序的狀態(tài)。 會(huì)話級(jí)或請(qǐng)求級(jí)表示模型的狀態(tài),而不是在持久級(jí)。 件使用 記讀取來自 信息。 ? 圖) 視圖就是一個(gè) 件。其中沒有流程邏輯,沒有業(yè)務(wù)邏輯,也沒有模型信息 有標(biāo)記。標(biāo)記是使 別于其他框架(如 因素之一。 詳細(xì)分析 6 顯示的是 的一個(gè)最簡(jiǎn) 。圖 6 顯示了 和 之間的最簡(jiǎn)關(guān)系。 圖 6. 與 之間的關(guān)系的 您還記得函數(shù)映射的日子嗎?在那時(shí),您會(huì)將某些輸入事件映射到一個(gè)函數(shù)指針上。如果您對(duì)此比較熟悉,您會(huì)將配置信息放入一個(gè)文件,并在運(yùn)行時(shí)加載這個(gè)文件。函數(shù)指針數(shù)組曾經(jīng)是用 C 語言進(jìn)行結(jié)構(gòu)化編程的很好方法。 現(xiàn)在好多了,我們有了 術(shù)、 等。 控制器是將事件(事件通常是 射到類的一個(gè) 如您所料 制器使用配置文件以使您不必對(duì)這些值進(jìn)行硬編碼。時(shí)代變了,但方法依舊。 該 現(xiàn)的 分,它是這一框架的核心。 創(chuàng)建并使用 如前所述, 件配置該 創(chuàng)建 目時(shí),您將擴(kuò)展 解決特定的問題。文件 示 何使用這些擴(kuò)展的類。這種方法有幾個(gè)優(yōu)點(diǎn): ? 應(yīng)用 程序的整個(gè)邏輯流程都存儲(chǔ)在一個(gè)分層的文本文件中。這使得人們更容易查看和理解它,尤其是對(duì)于大型應(yīng)用程序而言。 ? 網(wǎng)頁設(shè)計(jì)人員不必費(fèi)力地閱讀 碼來理解應(yīng)用程序的流程。 ? 發(fā)人員也不必在更改流程以后重新編譯代碼。 可以通過擴(kuò)展 添加 能。 護(hù) 用程序的會(huì)話狀態(tài)。 一個(gè)抽象類,必須為每個(gè)輸入表單模型創(chuàng)建該類的子類。當(dāng)我說 輸入表單模型 時(shí) ,是指 示的是由 單設(shè)置或更新的一般意義上的數(shù)據(jù)。例如,您可能有一個(gè)由 單設(shè)置的 架將執(zhí)行以下操作: ? 檢查 否存在;如果不存在,它將創(chuàng)建該類的一個(gè)實(shí)例。 ? 使用 相應(yīng)的域設(shè)置 狀態(tài)。沒有太多討厭的 調(diào)用。例如, 架將從請(qǐng)求流中提取 并調(diào)用 。 ? 架在將 遞給業(yè)務(wù)包裝 前將更新它的狀態(tài)。 ? 在將它傳遞給 之前, 會(huì)對(duì) 用 方法進(jìn)行表單狀態(tài)驗(yàn)證。 注: 這并不總是明智之舉。別的網(wǎng)頁或業(yè)務(wù)可能使用 在這些地方,驗(yàn)證可能有所不同。在 中進(jìn)行狀態(tài)驗(yàn)證可能更好。 ? 可在會(huì)話級(jí)維護(hù) 注: ? 件控制 單請(qǐng)求與 間的映射關(guān)系。 ? 可將多個(gè)請(qǐng)求映射到 ? 跨多頁進(jìn)行映射,以執(zhí)行諸如向?qū)е惖牟僮鳌? 是業(yè)務(wù)邏輯的一個(gè)包裝。 的用途是將 換為業(yè)務(wù)邏輯。要使用 請(qǐng)創(chuàng)建它的子類并覆蓋 方法。 使用 方法將參數(shù)化的類傳遞給 仍然沒有太多討厭的 調(diào)用。當(dāng)事件進(jìn)展到這一步時(shí),輸入表單數(shù)據(jù)(或 單數(shù)據(jù))已被從請(qǐng)求流中提取出來并轉(zhuǎn)移到 中。 注:擴(kuò)展 時(shí)請(qǐng)注意簡(jiǎn)潔。 應(yīng)該控制應(yīng)用程序的流程,而不應(yīng)該控制應(yīng)用程序的邏輯。通過將業(yè)務(wù)邏輯放在單獨(dú)的包或 ,我們就可以提供更大的靈活性和可重用性。 考慮 的另一種方式是 計(jì)模式。 用途是 “ 將類的接口轉(zhuǎn)換為客戶機(jī)所需的另一個(gè)接口。 類能夠協(xié)同工作,如果沒有 這些類會(huì)因?yàn)椴患嫒莸慕涌诙鵁o法協(xié)同工作。 ” (摘自 著的 O 。本例中的客戶機(jī)是 它對(duì)我們的具體業(yè)務(wù)類接口一無所知。因此, 供了它能夠理解的一個(gè)業(yè)務(wù)接口,即 通過擴(kuò)展 我們使得我們的業(yè)務(wù)接口與 務(wù)接口保持兼容。(一個(gè)有趣的發(fā)現(xiàn)是, 類而不是接口)。 始為一個(gè)接口,后來卻變成了一個(gè)類。真是金無足赤。) (圖 6)還包括 裝了單個(gè)錯(cuò)誤消息。 的容器, 以使用標(biāo)記訪問這些類。 持錯(cuò)誤列表的方式。 圖 7. 與 之間的關(guān)系的 輸入事件通常是在 求表單中發(fā)生的, 器將 求轉(zhuǎn)換為 控制器查看輸入事件并將請(qǐng)求分派給某個(gè) 。 定 用哪個(gè) 。 置信息被轉(zhuǎn)換為一組 而后者又被放入 器中。(您可能尚未注意到這一點(diǎn),以 s 結(jié)尾的類就是容器) 含有關(guān)特定事件如何映射到特定 信息。 通過 方法將 遞給 。這樣就使 訪問用于控制流程的信息。 象的一個(gè)集合。 優(yōu)點(diǎn) ? 記機(jī)制的使用 標(biāo)記特性從 件獲得可重用代碼和抽象 碼。這個(gè)特性能很好地集成到基于 開發(fā)工具中,這些工具允許用標(biāo)記編寫代碼。 ? 標(biāo)記庫 為什么要另發(fā)明一種輪子,或標(biāo)記庫呢?如果您在庫中找不到您所要的標(biāo)記,那就自己定義吧。此 外,如果您正在學(xué)習(xí) 記技術(shù),則 您提供了一個(gè)起點(diǎn)。 ? 開放源碼 您可以獲得開放源碼的全部?jī)?yōu)點(diǎn),比如可以查看代碼并讓使用庫的每個(gè)人檢查代碼。許多人都可以進(jìn)行很好的代碼檢查。 ? 現(xiàn)樣例 如果您希望創(chuàng)建您自己的 現(xiàn),則 增加您的見識(shí)。 ? 管理問題空間 分治是解決問題并使問題可管理的極好方法。當(dāng)然,這是一把雙刃劍。問題越來越復(fù)雜,并且需要越來越多的管理。 缺點(diǎn) ? 仍處于發(fā)展初期 發(fā)仍處于初級(jí)階段。他們正在向著發(fā)行版 本 努力,但與任何 本一樣,它不可能盡善盡美。 ? 仍在變化中 這個(gè)框架仍在快速變化。 比變化極大。為了避免使用不贊成使用的方法,您可能隔一天就需要下載最新的 過去的 6 個(gè)月中,我目睹 從 90K 增大到 270K 以上。由于 的變化,我不得不數(shù)次修改我的示例,但我不保證我的示例能與您下載的 同工作。 ? 正確的抽象級(jí)別 否提供了正確的抽象級(jí)別?對(duì)于網(wǎng)頁設(shè)計(jì)人 員而言,什么是正確的抽象級(jí)別呢?這是一個(gè)用 $64K 的文字才能解釋清楚的問題。在開發(fā)網(wǎng)頁的過程中,我們是否應(yīng)該讓網(wǎng)頁設(shè)計(jì)人員訪問 碼?某些框架(如 不應(yīng)該,但它提供了另一種 發(fā)語言讓我們學(xué)習(xí)。在 發(fā)中限制訪問 一定的合理性。最重要的是,如果讓網(wǎng)頁設(shè)計(jì)人員使用一點(diǎn) 將使用大量的 開發(fā)中,我總是看到這樣的情況。在 發(fā)中,您應(yīng)該創(chuàng)建 象,然后編寫少量的 本將這些 象聯(lián)系起來。但是,發(fā)人員會(huì)瘋狂地使用 本。我會(huì)聽到這樣的話, “ 既然我可以用 接編寫 象,為什么還要等 發(fā)人員來創(chuàng)建它呢? ” 通過使用標(biāo)記庫, 助于限制 件中所需的 碼的數(shù)量。 是這樣的一種庫,它對(duì)有條件地生成輸出進(jìn)行管理,但這并不能阻止 發(fā)人員對(duì) 碼的狂熱。無論您決定使用哪種類型的框架,您都應(yīng)該了解您要在其中部署和維護(hù)該框架的環(huán)境。當(dāng)然,這項(xiàng)任務(wù)真是說起來容易做起來難 。 ? 有限的適用范圍 一種基于 決方案,所以必須用 件和 實(shí)現(xiàn)它。 ? 用程序支持 要支持 范的 器。僅憑這一點(diǎn)遠(yuǎn)不能解決您的全部安裝問題,除非使用 用 裝這個(gè)庫時(shí)遇到一大堆問題,按理說它是第一種符合 應(yīng)用程序服務(wù)器。我建議您在遇到問題時(shí)訪問 戶 郵件列表的歸檔資料。 ? 復(fù)雜性 在將問題分為幾個(gè)部分的同時(shí)也引入了復(fù)雜性。毫無疑問,要理解 須接受一定的培訓(xùn)。隨著變化的不斷加入,這有時(shí)會(huì)令人很沮喪。歡迎訪問本網(wǎng)站。 前景 在這個(gè)軟件開發(fā)的新時(shí)代,一切都變得很快。在不到 5 年的時(shí)間內(nèi),我已經(jīng)目睹了從 到使用 直到現(xiàn)在的 變遷。 在盡力將新的變化反映到 系結(jié)構(gòu)中,正如他們對(duì) 言和 作的更改一樣。您可以從 網(wǎng)站獲得新的 范的草案。此外,一個(gè)標(biāo)準(zhǔn) 記庫即將出現(xiàn) 。 附件 2:外文原文 an VC a in eb if a SP in on is a a a eb a a of in a a If on a eb is a to is VC .2 .1 2EE as of a on SP of We of is VC to of by ? of s of it is It or ? of It is of it no of In it be to ? to It eb to it to of On to to to of is or Of we C/C++ or to to ? ? to to ? of be to to ? t to in ? is VC to eb . is a ML of . of of to Do of to a to a If a at of . is we is a an to - a so to is of VC is of As of eb to on to to ? of is in a it to ? to to of ? to be by eb is an is I am a of is or by a a is by ? to if a if it an of ? of No . ? of it to ? it to by is to be of in or be of be in ? be at a ? to ? be ? be as is a is to to To no By of . is a of SP up a is a a an of an . ? an eb ? to is a as a ? of of is as a to ? of at a or at a SP SP ? is a is no no no - of to "of By in a we of is as of is of a of ( O in is a it By we (An is is a an as an a s ML ) an is a of up a of . of of to An is in of at to is a (If s of a to to to to is a ? SP SP ? or a If in In a if SP ? of as to ? VC if to VC ? is a of Of is ? is in a as .0 it ? is a of A of .5 to to In th- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
0 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國(guó)旗、國(guó)徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 外文 翻譯 StrutsMVC 一種 開放 源碼 實(shí)現(xiàn)
鏈接地址:http://www.820124.com/p-31493.html