• <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

        當前位置:雨林木風下載站 > 技術開發教程 > 詳細頁面

        在ASP.NET中完成MVC模式(5)

        在ASP.NET中完成MVC模式(5)

        更新時間:2022-05-14 文章作者:未知 信息來源:網絡 閱讀次數:

        在ASP.NET中實現Model-View-Controller模式(五)



        測試

        將模型部分從ASP.NET環境中分離出來能夠使模型部分更容易的被測試。在ASP.NET環境中進行測試的話,你必須同時測試很多方面,如HTML代碼是否正確,而讀取HTML代碼的工作是非常煩悶的。將模型部分分離出來,使你能夠對模型部分做單獨的單元測試。下面是NUnit (http://nunit.org)對模型部分進行單元測試的例子。

        using System;



        using NUnit.Framework;

        using System.Collections;

        using System.Data;

        using System.Data.SqlClient;



        [TestFixture]

        public class GatewayFixture

        {

        [Test]

        public void Tracks1234Query()

        {



        DataSet ds = DatabaseGateway.GetTracks("1234");

        Assertion.AssertEquals(10, ds.Tables["Track"].Rows.Count);

        }



        [Test]

        public void Tracks2345Query()

        {

        DataSet ds = DatabaseGateway.GetTracks("2345");

        Assertion.AssertEquals(3, ds.Tables["Track"].Rows.Count);

        }



        [Test]

        public void Recordings()

        {

        DataSet ds = DatabaseGateway.GetRecordings();

        Assertion.AssertEquals(4, ds.Tables["Recording"].Rows.Count);



        DataTable recording = ds.Tables["Recording"];

        Assertion.AssertEquals(4, recording.Rows.Count);



        DataRow firstRow = recording.Rows[0];

        string title = (string)firstRow["title"];

        Assertion.AssertEquals("Up", title.Trim());

        }

        }



        結論:

        在ASP.NET中實現MVC模式有如下優缺點:

        優勢:

        能夠減少依賴。 程序員可以在一個ASP.NET頁面中實現所有的代碼。單頁的實現方式,對于一些小型的且生存周期不長的程序是適用的。但如果想在不斷增加的頁面間共享代碼的話,將代碼的不同部分進行分離是非常有效果的。

        能夠減少代碼的復制。 DatabaseGateway 類中的GetRecordings 和 GetTracks方法能夠直接被其它的頁面使用,減少了必須將方法的代碼拷貝到不同頁面的情況。

        能夠把不同人員的責任分開。修改頁面的外觀與修改數據訪問的代碼所用的技術是不同的,將模型與視圖分開能夠使負責不同工作的專家協同的工作。

        使性能優化的成為可能 按將系統不同的職責分成不同的類,使性能的優化成為可能。前面的例子中,由于每次請求頁面的時都要從數據庫中讀取數據。因此可在某種情況下將數據緩存,從而提高整個程序的性能。如果不將代碼進行分離的話是無法做到的這點的。

        易測試性 將模型與視圖相分離使在ASP.NET環境外進行單元測試成為可能。

        缺點:

        增加了代碼的數量及復雜度。這個例子在早期單頁的實現方式的基礎上增加了新的文件和代碼,在無形中增加了維護的開銷。一旦修改系統的話,會修改所有三種角色的代碼。在一些情況下,一個文件中的修改比一些文件中修改要方便。所以在考慮是否使用MVC模式時。這種額外的開銷一定要被計算在內,對一些小的程序來說,這種開銷是不值得的。


        溫馨提示:喜歡本站的話,請收藏一下本站!

        本類教程下載

        系統下載排行

        主站蜘蛛池模板: 亚洲男人第一无码aⅴ网站| 国产午夜亚洲精品不卡| 国产午夜成人免费看片无遮挡| 国产免费看插插插视频| 亚洲精品午夜在线观看| 99精品视频在线视频免费观看| 日韩亚洲欧洲在线com91tv| 美女网站在线观看视频免费的| 久久久久国产亚洲AV麻豆| 国产精品永久免费| 亚洲日韩一页精品发布| 两性色午夜免费视频| 久久久久久久综合日本亚洲| 久久精品成人免费网站| 18勿入网站免费永久| 中文字幕无码免费久久99| 亚洲成a人片在线观看中文app| 18禁成人网站免费观看| 亚洲精品在线免费观看| 久久99精品国产免费观看| 亚洲国语精品自产拍在线观看| 免费无码又爽又刺激高潮视频| 日韩亚洲AV无码一区二区不卡| 久久久久高潮毛片免费全部播放| 中文字幕亚洲精品资源网| 亚洲最大免费视频网| 亚洲jizzjizz在线播放久| 99久久人妻精品免费一区| 无码专区一va亚洲v专区在线| 猫咪免费观看人成网站在线| 久久久久亚洲精品男人的天堂| 中文在线观看免费网站| 亚洲一区二区影院| 大地资源在线观看免费高清| 日韩在线视精品在亚洲| 久久久久亚洲av毛片大| 久久久久久一品道精品免费看| 亚洲人精品亚洲人成在线| 亚洲精品A在线观看| 3344永久在线观看视频免费首页 | 亚洲成AV人影片在线观看|