• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    軟件測試之ASP.NET多頻道網站開發架構淺析和實現方法(1)

    發布: 2009-8-11 10:34 | 作者: 不詳 | 來源: 領測軟件測試網采編 | 查看: 24次 | 進入軟件測試論壇討論

    領測軟件測試網

    軟件測試之ASP.NET多頻道網站開發架構淺析和實現方法(1)  .NET網站架構

    關鍵字:ASP.NET 多頻道 網站 架構 .NET

      我們打開門戶網站時,往往會看到很多排列緊密的頻道列表,如“新聞”、“財經”、“娛樂”等。頻道為網站提供了方便的導航功能。

      知識準備

      本文中提到的各架構方案均基于MVC(Model-View-Controller)模式,對該模式中各組成部件作如下簡短描述:

      ◆Model:包含業務邏輯操作以及數據訪問操作

      ◆View:包含UI處理相關操作

      ◆Controller:控制并協調View與Model的處理過程

      各方案比較

      方案架構描述代碼重用性開發方式部署方式

      方案一為整個網站建立一個Web Project。每個頻道對應于Web Project中的一個目錄,有點類似于ASP的處理方式。Model部件既可以包含于Web Project中,也可以封裝成Class Library。將Model部件封裝成Class Library后將獲得較高的重用性。模塊較為集中,開發較為快捷,但不適合大規模協作開發。模塊較為集中,部署比較方便,但一個小的BUG可能會導致整個網站的癱瘓。

      方案二為每個頻道建立一個Web Project。每個頻道的Model部件既可以包含于相應的Web Project中,也可以分別封裝成Class Library。每個Model部件都應用于特定的頻道,代碼分散,重用性較低。各模塊較獨立,適合按照功能模塊分配任務的開發方式。各模塊獨立,部署工作非常繁復,但由于各頻道是松耦合的(甚至可以位于不同的服務器),一個頻道的故障不會影響到其他頻道的正常運行。

      方案三為每個頻道建立一個Web Project。所有頻道的Model部件封裝成一個共用的Class Library。所有頻道共用一個Model部件,代碼較為集中,具有很高的重用性。開發方式較為靈活,既可以按照功能模塊分配任務,也可以按照MVC各組成部件分配任務。各模塊獨立,部署工作比較繁復,但由于各頻道是松耦合的(甚至可以位于不同的服務器),一個頻道的故障不會影響到其他頻道的正常運行。

      總結

      根據上文分析,我們大致可以得出以下結論:

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    TAG: asp ASP Asp net NET Net 架構 軟件測試 網站開發

    21/212>

    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>