国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

在ASP.NET中實現MVC模式(五)

2024-07-10 12:57:24
字體:
來源:轉載
供稿:網友
在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模式時。這種額外的開銷一定要被計算在內,對一些小的程序來說,這種開銷是不值得的。




發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 德清县| 丰城市| 浪卡子县| 军事| 宁强县| 桂林市| 松滋市| 牟定县| 科技| 老河口市| 阳泉市| 霍林郭勒市| 龙川县| 邵阳县| 烟台市| 霍邱县| 英超| 侯马市| 广南县| 松江区| 清涧县| 都安| 乐安县| 遂平县| 华坪县| 吴桥县| 博湖县| 徐水县| 察哈| 洛浦县| 葵青区| 庄河市| 宜川县| 白沙| 罗田县| 柳州市| 金阳县| 长宁区| 阿合奇县| 河源市| 平塘县|