• <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免费| 日本一道本不卡免费| 色噜噜AV亚洲色一区二区| 免费很黄无遮挡的视频毛片| 国产猛烈高潮尖叫视频免费| 香港特级三A毛片免费观看| 亚洲精品97久久中文字幕无码| 色网站在线免费观看| 狠狠色婷婷狠狠狠亚洲综合 | 日本亚洲色大成网站www久久 | 成人免费视频国产| 色老头综合免费视频| 在线观看亚洲精品国产| 日本高清免费观看| 亚洲日韩乱码中文无码蜜桃| 妞干网在线免费观看| 全部一级一级毛片免费看| 亚洲熟妇无码AV在线播放| 日本xxxx色视频在线观看免费| 亚洲成人福利在线| 情侣视频精品免费的国产| 一级毛片大全免费播放| 亚洲AV无码成人精品区在线观看 | 国产三级免费电影| 黄色网页在线免费观看| 亚洲AV无码成人精品区天堂| 欧洲乱码伦视频免费| 福利片免费一区二区三区| 亚洲自偷自偷偷色无码中文| 日本免费一区二区在线观看| 亚洲av永久无码精品网址| 亚洲精品无码专区在线在线播放| 久久精品免费一区二区| 亚洲av无码专区首页| 国产∨亚洲V天堂无码久久久| 在线观看免费高清视频| selaoban在线视频免费精品| 亚洲人成在线播放| 亚洲无线一二三四区手机| 久草免费在线观看视频|