色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

走向ASP.NET架構(gòu)設(shè)計(jì)——第三章:分層設(shè)計(jì),初涉架構(gòu)(前篇)

  本篇主要講述ASP.NET應(yīng)用中如何進(jìn)行邏輯分層。本篇的前篇會(huì)從Smart UI 反模式和它的一些缺點(diǎn)開始講述,然后一步步的講述如何邏輯分層,而且在后篇中也會(huì)給出一個(gè)ASP.NET設(shè)計(jì)中常用的僅供參考的分層架構(gòu)的Demo。

  一個(gè)穩(wěn)定和易維護(hù)的系統(tǒng)必須建立在一個(gè)好的基礎(chǔ)之上。計(jì)劃和設(shè)計(jì)一個(gè)好的架構(gòu)對(duì)一個(gè)項(xiàng)目的成敗起著至關(guān)重要的作用。可能在我們一般做項(xiàng)目的時(shí)候,經(jīng)驗(yàn)告訴我們:3層,N層的設(shè)計(jì),基本就能把問題解決了,很多的情況確實(shí)是這樣的。在提出一個(gè)設(shè)計(jì)的時(shí)候,常常要考慮為什么要這樣劃分結(jié)構(gòu),而且常常要承擔(dān)風(fēng)險(xiǎn)和責(zé)任,特別是萬一這個(gè)項(xiàng)目因?yàn)樽畛醯脑O(shè)計(jì)而導(dǎo)致崩潰,那就郁悶了。所以設(shè)計(jì)的提出一定和考慮業(yè)務(wù)。

  下面就先來看看Smart UI的設(shè)計(jì)方式。

  Smart UI

  想想我們最初是如何開發(fā)ASP.NET應(yīng)用的:在頁面設(shè)計(jì)界面中把界面布局好,然后雙擊控件就開始編寫功能代碼。很多的時(shí)候把邏輯判斷和數(shù)據(jù)訪問都寫在頁面的.cs的文件中。后來我們學(xué)習(xí)到了分層,逐漸的明白了這種方式的缺點(diǎn):導(dǎo)致業(yè)務(wù)邏輯代碼到處分散而且重復(fù),不利于以后的更改和維護(hù)等。

  盡管有上述說的一些缺點(diǎn),Smart UI還是有它的用途的,如為項(xiàng)目快速的建立一個(gè)原型或者開發(fā)一個(gè)功能比較的小的項(xiàng)目。還有一個(gè)問題,如何最初用Smart UI的方式開發(fā)的小項(xiàng)目很成功,慢慢的變大,變復(fù)雜了,那么很多的問題就出來了。就像Flower在架構(gòu)模式一書中提到的:盡量用領(lǐng)域模型來組織一個(gè)項(xiàng)目的業(yè)務(wù)邏輯,盡管在開始的時(shí)候邏輯不復(fù)雜或者看不出這種方式的好處,一旦項(xiàng)目變化,好處就顯而易見了。在對(duì)項(xiàng)目原型開發(fā)中,盡量不用Smart UI。

  其實(shí)Smart UI最大的問題就是:職責(zé)不清—把所有的東西全部寫在一起。為了和以后講述的內(nèi)容的比較,我還是寫一個(gè)例子出來,很多朋友都已經(jīng)對(duì)這種Smart UI的開發(fā)方式很熟悉了,可以跳過下面的例子。在例子中,我們會(huì)用電子商務(wù)中一個(gè)常見的場(chǎng)景:一個(gè)頁面來顯示一個(gè)產(chǎn)品的列表信息,如名字,推薦的零售價(jià)格(Recommend Retail Price),折扣,和庫存等。(如果朋友們?cè)敢猓梢哉罩旅娴牟襟E一起做)

  1. 打開Visual Studio,并且建立一個(gè)”空白的解決方案”,命名為:ASPPatterns.Chap3.SmartUI,然后添加一個(gè)新的Web項(xiàng)目,命名為:ASPPatterns.Chap3.SmartUI.Web.

  2. 在新建的Web項(xiàng)目中右擊:Add—New Item,添加一個(gè)Sql Server的數(shù)據(jù)文件:Shop.mdf.

NET技術(shù)走向ASP.NET架構(gòu)設(shè)計(jì)——第三章:分層設(shè)計(jì),初涉架構(gòu)(前篇),轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 夏津县| 清苑县| 盐城市| 建宁县| 南汇区| 三台县| 西盟| 荃湾区| 山阴县| 清新县| 房山区| 酉阳| 乐昌市| 浦东新区| 富源县| 永新县| 蒲城县| 嘉善县| 定安县| 永济市| 克拉玛依市| 海南省| 尚志市| 西平县| 兖州市| 安平县| 平昌县| 阿坝县| 深圳市| 怀化市| 九江市| 阿鲁科尔沁旗| 蓬溪县| 平泉县| 南城县| 梅州市| 外汇| 安图县| 台州市| 即墨市| 金山区|