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

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

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

    隨筆 - 71  文章 - 15  trackbacks - 0
    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    因為口渴,上帝創(chuàng)造了水;
    因為黑暗,上帝創(chuàng)造了火;
    因為我需要朋友,所以上帝讓你來到我身邊
    Click for Shaanxi xi'an, Shaanxi Forecast
    ╱◥█◣
      |田|田|
    ╬╬╬╬╬╬╬╬╬╬╬
    If only I have such a house!
    〖總在爬山 所以艱辛〗
    Email:myesjoy@yahoo.com.cn
    NickName:yesjoy
    MSN:myesjoy@hotmail.com
    QQ:150230516

    〖總在尋夢 所以苦痛〗

    常用鏈接

    留言簿(3)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    Hibernate在線

    Java友情

    Java認證

    linux經(jīng)典

    OA系統(tǒng)

    Spring在線

    Structs在線

    專家專欄

    企業(yè)信息化

    大型設(shè)備共享系統(tǒng)

    工作流

    工作流產(chǎn)品

    網(wǎng)上購書

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    4、 對象設(shè)計 
    在架構(gòu)規(guī)范的指導(dǎo)下,設(shè)計從技術(shù)上擴展和修改了分析結(jié)果。雖然分析階段的領(lǐng)域?qū)ο蠼?yīng)該與技術(shù)細節(jié)無關(guān),但是對象設(shè)計完全依賴于技術(shù)因素,包括平臺、語言的類型和架構(gòu)開發(fā)階段選擇的供應(yīng)商。分析時,抬頭望著星星,但在設(shè)計階段,則要腳踏實地。理論上,為了維持業(yè)務(wù)對象的基本屬性和行為,除非絕對必要,不應(yīng)該破壞它們。 

    在架構(gòu)結(jié)果的指導(dǎo)下,詳細設(shè)計工作應(yīng)該說明所有類的規(guī)格,包括必須實現(xiàn)的屬性、它們的詳細接口和偽代碼或操作的純文本描述。規(guī)格說明應(yīng)該足夠詳細使得和模型圖結(jié)合時,它可以提供所有必須的編碼信息。在許多自動化軟件生產(chǎn)過程中,我們可以從面向?qū)ο髨D生成代碼框架。圖5和6 說明了對一些領(lǐng)域?qū)ο蟮母邔雍驮敿氃O(shè)計對象。注意樁(stub)和框架(skeleton)在圖中經(jīng)常是不可見的,因為它們對設(shè)計人員和編程員來說是透明的。我將它們包括在圖6中以說明EJB的基礎(chǔ)部分。 



    圖6 對象設(shè)計模型:訂單EJB詳細設(shè)計 

    在完成了詳細對象設(shè)計后,還需要完成領(lǐng)域?qū)ο蟮膶ο?關(guān)系映射。原因是雖然面向?qū)ο蠓椒▽W(xué)現(xiàn)在非常流行,但是大多數(shù)流行且成熟的持續(xù)性存儲卻是關(guān)系型的。另外,在許多情況下,客戶的IT基礎(chǔ)設(shè)施已經(jīng)反映了對商業(yè)RDBMS供應(yīng)商的投資和偏愛。所以,將領(lǐng)域?qū)ο筠D(zhuǎn)換成關(guān)系模型或數(shù)據(jù)庫表是非常重要的。雖然有許多容器管理的持續(xù)性工具,但它們不能取代好的關(guān)系數(shù)據(jù)庫設(shè)計。 

    5、 實現(xiàn) 

    在良好的架構(gòu)和詳細設(shè)計條件下,實現(xiàn)應(yīng)該是一個明確的任務(wù)。另外,因為我們設(shè)計和實現(xiàn)架構(gòu)原型階段的縱向聯(lián)合部分,所以實現(xiàn)階段應(yīng)該更沒有什么值得驚訝的。在許多組織中,開發(fā)者經(jīng)常過早地到達實現(xiàn)階段。尤其當(dāng)管理者盯著開發(fā)人員確保在編碼,而不是做他們認為在浪費公司時間的其他事情時,這種情況變得更加嚴(yán)重。 

    結(jié)果,不再花數(shù)小時或數(shù)天繪出UML草圖,而是通常在發(fā)費數(shù)周或數(shù)月編碼的同時測試自己的想法。由于在這種情況下,所有地架構(gòu)決定和設(shè)計都是在編碼階段做出來的,所以經(jīng)常過了數(shù)月后才發(fā)現(xiàn)開發(fā)的方向出錯了。 

    6、 驗證 

    驗證包括測試驗證系統(tǒng)按設(shè)計要求運行并滿足需求。驗證過程發(fā)生在整個開發(fā)生命周期的開發(fā)和產(chǎn)品環(huán)境中。單元測試、集成測試和用戶測試本身就是非常重要的主題。 

    7、 裝配和部署 

    構(gòu)件裝配和解決方案部署在J2EE開發(fā)中特別重要。開發(fā)和產(chǎn)品環(huán)境可能非常不同。如果EJB在系統(tǒng)中,你需要使用供應(yīng)商特定的工具得到容器自動生成的類,因為,正如我以前指出的,Web和應(yīng)用程序構(gòu)件配置對不同的供應(yīng)商來說是不同的。你也必須考慮要部署的系統(tǒng)是否含有供應(yīng)商特定代碼實現(xiàn)。在可擴展架構(gòu)中,系統(tǒng)結(jié)構(gòu)應(yīng)該是穩(wěn)定的但也應(yīng)該在不影響整個系統(tǒng)的條件下支持新或老構(gòu)件的增量部署。 

    8、 運行和維護 

    在最后階段,應(yīng)用程序到了用戶手中,你必須給他們提供培訓(xùn)和文檔。用戶會發(fā)現(xiàn)錯誤并可能要求新特性。你必須適當(dāng)?shù)馗淖児芾磉^程來處理這些情況。你不必為了部署一個新構(gòu)件或取代老構(gòu)件而關(guān)閉一個正在運行的系統(tǒng)。 

    架構(gòu)開發(fā)過程 

    知道了必須做出許多架構(gòu)決定,因此我們必須為架構(gòu)開發(fā)描繪一個過程。對于一個企業(yè)來說通常有許多應(yīng)用項目,它們中的一些可能跨越數(shù)年,結(jié)果是系統(tǒng)演化包含許多周期。在你的領(lǐng)域里存在著許多跨越多個項目的通用需求。你應(yīng)該不費力地在它的生命周期或其他項目中使用以前項目周期的可擴展且可重用的架構(gòu)。為一系列軟件應(yīng)用提供同屬結(jié)構(gòu)和行為的通用框架和可重用軟件架構(gòu)是非常需要的。 

    如果是第一個J2EE項目,架構(gòu)必須做原型、測試、度量、分析并在迭代中進行推敲。藍圖提供了許多好的設(shè)計指導(dǎo)和實踐,寵物店示例程序可以作為一個很好的參考架構(gòu)。最有效地快速、高質(zhì)量發(fā)布好的解決方案的方法是接受和擴展藍圖參考架構(gòu)并插入你自己的業(yè)務(wù)構(gòu)件。你最后要做的就是改造車輪。 

    接受一個參考架構(gòu) 

    就我的理解,寵物店架構(gòu)的精華是模型-視圖-控制和命令模式。你可以將這些模式應(yīng)用到以Web為中心和以EJB為中心的系統(tǒng)中。對于每個領(lǐng)域?qū)ο螅晥D用嵌套的JSP表示。控制器處理相關(guān)的業(yè)務(wù)事件,領(lǐng)域?qū)ο蠓庋b業(yè)務(wù)邏輯、事物和安全。我們使用門戶servlet作為中心控制器接受和截獲所有用戶的動作。它將業(yè)務(wù)事件分發(fā)給特定的調(diào)用領(lǐng)域?qū)ο蟾淖兂掷m(xù)狀態(tài)的領(lǐng)域?qū)ο罂刂破鳌R揽渴录幚斫Y(jié)果,控制器選擇下一個要展現(xiàn)的視圖。下面是我們可以修改并在大多數(shù)J2EE應(yīng)用程序中使用的主要構(gòu)件: 

    a、 MainServlet:門戶構(gòu)件,Web容器和框架之間的接口 

    b、 ModelUpdateListener:獲得模型更新事件對象的接口 

    c、 ModelUpdateNotifier:當(dāng)更新模型事件發(fā)生時通知偵聽器 

    d、 RequestProcessor:處理所有從MainServlet來的請求。 

    e、 RequestHandler:即插即用請求處理構(gòu)件接口 

    f、 RequestHandlerMapping:包含請求處理映射規(guī)則 

    g、 RequestToEventTranslator:中心請求處理器根據(jù)請求處理映射規(guī)則代理即插即用請求處理構(gòu)件的請求。將http請求轉(zhuǎn)換為業(yè)務(wù)事件 

    h、 EstoreEvent:業(yè)務(wù)事件 

    i、 ShoppingClientControllerWebImpl:代理EJB層門戶控制器 

    j、 ScreenflowManager:控制屏幕流,選擇視圖 

    k、 ModelUpdateManager:EJB層模型更新管理器,通知什么模型由于事件發(fā)生了改變 

    l、 ShoppingClientControllerEJB:EJB層門戶,為EJB客戶提供遠程服務(wù) 

    m、 StateMachine:中心事件處理器,根據(jù)狀態(tài)處理映射規(guī)則代理即插即用處理構(gòu)件的事件處理 

    n、 StateHandler:EJB層狀態(tài)處理接口 

    o、 StateHandlerMapping:包含狀態(tài)處理映射規(guī)則 

    擴展參考架構(gòu) 

    雖然藍圖示例程序是一個好的起點,但應(yīng)該根據(jù)每個項目或領(lǐng)域修改它。設(shè)計模式是可重用的微體系結(jié)構(gòu),可以使用它擴展參考架構(gòu)。提供了一組有用的J2EE模式目錄的藍圖和23個"四人幫"模式都是非常不錯的資源。例如,如果想擴展參考架構(gòu)支持工作流管理,你可以在部署或運行時動態(tài)地在中心控制器注冊事件處理器。中心控制器會詢問每個注冊的事件處理器直到一個處理器返回消息表明到了命令鏈的末端。 

    插入你的業(yè)務(wù)構(gòu)件 

    J2EE技術(shù)對每個人都是一樣的,但是不同的領(lǐng)域,我們要解決的問題是不同的。一旦建立了一個基本的J2EE框架,必須實現(xiàn)一些用例來說明架構(gòu)確實可以為你的領(lǐng)域服務(wù)。可以通過選用捕獲系統(tǒng)關(guān)鍵功能的場景來實現(xiàn),這些場景經(jīng)常使用來展現(xiàn)關(guān)鍵的技術(shù)風(fēng)險。從領(lǐng)域分析模型入手,可以象我們在圖5和6中那樣將領(lǐng)域?qū)ο笥成涑筛邔雍偷蛯釉O(shè)計模型。實現(xiàn)低層設(shè)計模型并測試是否真正在工作。如果每件事都按計劃運行,那么重新評估風(fēng)險開始下一個迭代,擴展要考慮的場景并選擇更多的場景擴展架構(gòu)的覆蓋范圍。經(jīng)過幾次迭代后,原始的架構(gòu)原型應(yīng)該變得穩(wěn)定。識別要購買的構(gòu)件,要保留的遺留系統(tǒng)和怎樣將它們對接。下一步是軟件設(shè)計,你可以使用設(shè)計指導(dǎo)中規(guī)定好的類似方法和過程繼續(xù)開發(fā)。 

    一步一步 

    我們使用一個過程來將一個復(fù)雜問題分解為較小的幾個問題,這使得我們可以更容易的理解和解決它們。在本文中,我們將J2EE開發(fā)分解為八個步驟,主要集中在架構(gòu)和設(shè)計。我已經(jīng)闡述了重要的架構(gòu)并為架構(gòu)決定提供了一個過程。我也討論了J2EE架構(gòu)師的角色和可交付產(chǎn)品。 

    學(xué)習(xí)使用這些步驟開發(fā)J2EE解決方案就象學(xué)習(xí)跳舞的步驟一樣。首先需要自覺并持之以恒地練習(xí)基本步驟。但是,一旦你對它們相當(dāng)熟悉后,應(yīng)該將它們放在一起并將注意力更多地集中在規(guī)模、速度、流和特定上下文中每一步的節(jié)奏。但永遠不要讓一個過程限制了創(chuàng)造性。而應(yīng)該接受和擴展過程以滿足自己特殊需要。記住,最終目的是提供滿足客戶需求的完整的J2EE解決方案。 

    posted on 2006-02-06 11:33 ★yesjoy★ 閱讀(286) 評論(0)  編輯  收藏 所屬分類: J2EE結(jié)構(gòu)

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


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 一级特黄色毛片免费看| 亚洲欧洲中文日韩av乱码| 99久久免费国产精精品| 亚洲精品乱码久久久久久V| 亚洲激情中文字幕| 亚洲国产综合久久天堂| 成人免费毛片观看| 皇色在线视频免费网站| 久久国产精品一区免费下载| 美女被免费视频网站a| 亚洲砖码砖专无区2023| 91大神亚洲影视在线| 亚洲va国产va天堂va久久| 日韩精品亚洲专区在线观看| 成人人观看的免费毛片| 青青视频观看免费99| 99re热精品视频国产免费| 99久久99这里只有免费的精品| 曰韩无码AV片免费播放不卡 | 人成午夜免费大片在线观看| 亚洲精品无码久久久久APP| 亚洲一区二区三区深夜天堂| 亚洲视频在线观看网站| 亚洲天堂视频在线观看| 亚洲AV永久无码精品成人| 国产日产亚洲系列| 337p日本欧洲亚洲大胆裸体艺术| 免费在线看片网站| 免费欧洲美女牲交视频| 国产乱人免费视频| 免费v片在线观看品善网| 国产小视频在线观看免费| 免费观看美女裸体网站| 日本特黄特黄刺激大片免费| 青青青青青青久久久免费观看| 成人免费看片又大又黄| 日韩免费毛片视频| 亚洲国产成人精品91久久久| MM131亚洲国产美女久久| 亚洲日韩av无码| 亚洲AV无码第一区二区三区|