成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

ASP.NET MVC論壇應(yīng)用程序(上)

開發(fā) 后端
本文介紹ASP.NET MVC論壇應(yīng)用程序,我想通過本系列文章從頭到尾構(gòu)建一個完整的ASP.NET MVC論壇應(yīng)用程序,最終的目的是探討和推動使用ASP.NET MVC框架構(gòu)建應(yīng)用程序的最佳實踐。

我想通過本系列文章從頭到尾構(gòu)建一個完整的ASP.NET MVC論壇應(yīng)用程序,最終的目的是探討和推動使用ASP.NET MVC框架構(gòu)建應(yīng)用程序的最佳實踐。

1、 簡介

在本篇中,我想先從全局方面介紹一下論壇應(yīng)用程序的總體目標。在本篇中,我將討論一下避免代碼壞味道的重要性,還將討論如何利用軟件設(shè)計原則和模式來幫助你編寫適合未來改變的富有彈性的代碼。最后,我還將論證一下為什么我選擇使用測試驅(qū)動開發(fā)方式構(gòu)建本系列文章中的論壇應(yīng)用程序。

2、 什么樣的軟件是好的軟件

我不想僅僅為了構(gòu)建論壇應(yīng)用程序而任意構(gòu)建此論壇應(yīng)用程序。我的目標是盡可能構(gòu)建最棒的論壇應(yīng)用程序。
這個目標立即引發(fā)這樣一個問題:什么樣的軟件是好的軟件?是什么導致一個應(yīng)用程序比另一個應(yīng)用程序更好一些或更差一些呢?在事先沒有一個關(guān)于“好軟件”的定義之前,我無法聲明我構(gòu)建了一個完美的論壇應(yīng)用程序。
因此,下面是我對于“好軟件”的定義。

3、 好軟件是設(shè)計得易于修改的軟件

存在多種原因可能需要你改變軟件:
1)你可能需要在一個現(xiàn)有軟件上添加新的特征
2)你可能需要修改一個現(xiàn)有軟件中的錯誤
3)你可能需要優(yōu)化現(xiàn)有軟件
4)你可能需要改進現(xiàn)有軟件的設(shè)計

一般說來,設(shè)計糟糕的軟件是難于改變的。有些軟件設(shè)計得如此糟糕,以致于每個人都害怕碰一碰它。我們大家應(yīng)該都使用過設(shè)計得糟糕的軟件。當軟件不好時,你很希望它干脆走開;甚至如果有機會的話,你可能想從頭開始重新編寫這款軟件。

4、 避免代碼壞味道

Robert和Micah Martin把糟糕的軟件部分描述為代碼壞味道。下列代碼壞味道意味著此軟件的書寫是相當糟糕的:
1)僵化性(Rigidity)—僵化的軟件是這樣的軟件,當你在某個位置作一改動時即要求對系統(tǒng)作出相應(yīng)的一系列的更改。
2)脆弱性(Fragility)—脆弱的軟件是這樣的軟件,你在某個位置作一改動時即打斷另外多處的正常運行。
3)不必要的復雜性—不必要的復雜軟件是指過度設(shè)計的軟件,其目的是為了處理任何可能的改變。
4)不必要的重復—不必要的重復軟件中包含大量的重復性代碼。
5)晦澀性—晦澀的軟件是指難于理解的軟件。

【注意】上述這些代碼味道在Micah和Robert Martin的著名《Agile Principles,Patterns,and Practices in C#》中得到充分的描述。在此,強烈建議讀者讀一下這本書。
注意,上述這些代碼味道都與所有的代碼改變相關(guān)聯(lián)。每一個這些代碼味道都將妨礙代碼的改變。

5、 軟件設(shè)計原則

遵循良好的軟件設(shè)計原則,將有助于編寫軟件易于適應(yīng)未來更改的軟件。軟件設(shè)計原則有若干,也不盡相同。例如,Cunningham和Cunningham Wiki描述面向?qū)ο笤O(shè)計的11個原則:
http://c2.com/cgi/wiki?PrinciplesOfObjectOrientedDesign。

其中提到的面向?qū)ο笤O(shè)計的前五個原則與Robert Martin及他的兒子Micah Martin編著的《Agile Principles,Patterns,and Practices in C#》中所主張的軟件設(shè)計原則是一致的。此外,Robert Martin還在Object Mentor開辟的博客上討論了這些原則:
http://www.objectmentor.com/resources/publishedArticles.html。

此外,我還發(fā)現(xiàn)有另外兩本書中也提供了有關(guān)軟件設(shè)計原則的極其有用的信息。第一本是Eric Freeman,Elisabeth Freeman, Kathy Sierra, Bert Bates編著的《Head First Design Patterns》;第二本是Brett McLaughlin,Gary Pollice和David West編著的《Head First Object-Oriented Analysis and Design》。盡管這些書所討論的原則與Robert Martin的提法并不十分相同,但是它們卻十分相近。

不過真實的情況是,上述所有這些針對軟件設(shè)計原則展開討論的資源都源自Robert Martin的工作。Robert Martin并不是所有原則的發(fā)明者,但是他的確是第一個把這些原則收集到一起的人。下面列出這些軟件設(shè)計原則:
◆SRP—單一責任原則
◆OCP—開關(guān)原則
◆LSP—Liskov替換原則
◆ISP—接口隔離原則
◆DIP—依賴倒置原則
上述這個原則的集合正好對應(yīng)于縮略詞SOLID。

下面的軟件設(shè)計原則列表來自于《Head First Design Patterns》一書:
◆封裝變化
◆多用組合少用繼承
◆基于接口而不是基于實現(xiàn)編程
◆在交互的對象間努力實現(xiàn)松耦合
◆類應(yīng)該為了擴展而開放,但是為了修改而關(guān)閉
◆依賴于抽象,而不要依賴于具體類
◆僅僅對你的朋友交談
◆不調(diào)用我,我們會調(diào)用你
◆一個類應(yīng)該僅有一個改變的理由

當然,上述原則之間也存在許多的重疊之處。例如,“單一責任”原則與后面的“一個類應(yīng)該僅有一個改變的理由”這一原則是相一致的。然而,它們所強調(diào)的重點還是有所不同。更多的細節(jié)在此不便贅述。
所有這些設(shè)計原則的真正動機在于,努力構(gòu)建出能夠適應(yīng)變化的軟件。上述原則分別對于不同的原則進行相應(yīng)的闡述,最終目的也不過是為了創(chuàng)建出可以經(jīng)得起時間測試的軟件。

【編輯推薦】

  1. 淺談ASP.NET MVC框架
  2. 介紹ASP.NET MVC中的MvcAjaxPanel
  3. ASP.NET MVC框架拯救UpdatePanel
  4. 用ASP.NET MVC源代碼尋找解決方案
  5. ASP.NET MVC框架的ActionInvoker
責任編輯:佚名 來源: IT168
相關(guān)推薦

2009-07-22 18:07:55

論壇應(yīng)用程序ASP.NET MVC

2009-07-24 11:25:53

Web應(yīng)用程序工程ASP.NET MVC

2009-08-14 17:57:43

ASP.NET MVC

2009-07-21 15:02:19

ASP.NET應(yīng)用程序

2009-07-22 17:32:40

ASP.NET應(yīng)用程序

2009-07-23 13:26:21

2009-07-27 16:09:50

2009-07-29 17:01:13

2009-08-05 10:16:54

部署ASP.NET應(yīng)用

2009-07-20 16:08:04

ASP.NET應(yīng)用程序

2009-07-29 10:30:53

Web應(yīng)用程序ASP.NET

2009-07-23 14:25:03

ASP.NET 2.0

2009-07-29 17:21:10

2010-04-02 09:02:02

ASP.NET MVC

2009-07-27 17:46:42

WCF服務(wù)ASP.NET應(yīng)用程序

2009-07-28 10:11:06

ASP.NET應(yīng)用程序

2009-08-04 11:46:09

2009-07-21 15:23:55

預編譯Web應(yīng)用程序ASP.NET

2009-07-21 15:14:32

預編譯應(yīng)用程序ASP.NET

2009-07-24 10:41:00

ASP.NET Web
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 久久精品国产一区二区三区不卡 | 精品久久久久久红码专区 | 日韩久久久一区二区 | 韩日一区二区 | 国产欧美精品一区二区 | 日韩欧美精品一区 | 久久毛片 | 亚洲美女天堂网 | 国产视频综合 | 久久三区 | 欧美成人精品一区二区男人看 | 久久精品一级 | 欧美日韩亚洲国产 | 国产黄色大片网站 | 欧美一区2区三区4区公司二百 | 国产伊人精品 | 欧美在线a | 日韩久久综合网 | 网址黄 | 在线成人 | 久久精品| 免费电影av | 日韩成人免费视频 | 精品自拍视频在线观看 | 麻豆视频在线免费看 | 日本一区二区高清视频 | 久久精品影视 | 操久久 | 91久久久久久久久久久 | 亚洲一区二区视频 | 久久国产精品免费一区二区三区 | 一区二区免费 | 欧美激情黄色 | 91精品国产91久久久久久吃药 | 日日操视频 | 成人精品鲁一区一区二区 | 欧美一级小视频 | 久久久www成人免费精品张筱雨 | 精品一区二区三区91 | 四虎影院在线观看av | 国产精品色av |