• <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模式時。這種額外的開銷一定要被計算在內,對一些小的程序來說,這種開銷是不值得的。


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

        本類教程下載

        系統下載排行

        主站蜘蛛池模板: 日韩va亚洲va欧洲va国产| 女人被男人桶得好爽免费视频| 日韩成人免费在线| 亚洲卡一卡二卡乱码新区| 8x8x华人永久免费视频| 99久久亚洲综合精品成人网| 国产精品区免费视频| 亚洲一区二区三区首页| 亚洲一级免费毛片| 亚洲a级在线观看| 久久久久免费看黄A片APP| 亚洲色偷偷色噜噜狠狠99| 亚洲AV本道一区二区三区四区 | 一二三四视频在线观看中文版免费| 亚洲综合久久综合激情久久| 18禁美女黄网站色大片免费观看 | 亚洲一区二区三区免费| 亚洲国产婷婷综合在线精品| 国产精品亚洲片在线花蝴蝶 | 性色av免费观看| 久久亚洲中文字幕无码| 亚洲欧洲精品成人久久奇米网 | 1000部免费啪啪十八未年禁止观看| 亚洲a一级免费视频| 最近中文字幕国语免费完整| 亚洲一级毛片免费在线观看| 色吊丝永久在线观看最新免费| 国产成人亚洲精品无码AV大片| 亚洲人妻av伦理| 日本视频免费高清一本18| 亚洲卡一卡2卡三卡4麻豆| 日本高清免费网站| 日批视频网址免费观看| 亚洲中字慕日产2021| 亚洲AV无码专区日韩| 免费视频精品一区二区三区| 亚洲jizzjizz在线播放久| 亚洲国产精品成人| 91黑丝国产线观看免费 | 国内精品久久久久影院亚洲| 亚洲av成人一区二区三区在线观看|