① Asp.net mvc和asp.net有什麼區別
區別:
一、ASP.NET是一個網站開發的技術,是.NET框架中的一個應用模型。(歷史挺長遠的)使用ASP.NET開發Web應用程序並維持其運行,比其他開發語言更加簡單。與java、php和Perl等高級技術相比,ASP.NET具有方便性、靈活性、生產效率高、安全性高及面向對象等優點,是目前主流的網路編程技術之一。
MVC與ASP.NET完全沒有關系,是一個全新的Web開發,事實上ASP.NET是創建WEB應用的框架而MVC是能夠用更好的方法來組織並管理代碼的一種更高級架構體系,所以可以稱之為ASP.NET MVC。可將原來的ASP.NET稱為 ASP.NET Webforms,新的MVC 稱為ASP.NET MVC。
MVC是軟體架構的一種模式,可以說就相當於常說的設計模式。其中主要包括三個模塊,顧名思義。就如MVC名字所顯示的那樣:模型(Model),視圖(View),控制器(Controller)。mvc中的模型(Model)和視圖(View )是完全區別於三層架構中的模型(Model)和視圖(View)的。
二、Asp.net微軟提供web開發框架或者技術。分Web Form和ASP.NET MVC。下面簡單說明各自優缺點。
Web Form
優點:
WebForm優點
1、支持豐富的伺服器控制項。
2、支持視圖狀態,每個控制項狀態以「隱藏域」的形式存在當前表單頁面來達到「有狀態」,這就是ViewState
3、基於事件驅動編程,如:click事件等,aspx頁面與cs文件分離,即顯示邏輯與處理邏輯分離,便於分工,美工、編程。
4、學習成本低。
缺點:
1、站在項目架構的角度,web form不是很理想架構模式,盡管可以使用經典的三層架構或者mvp,但不是最優秀的。
2、性能viewstate成功解決了asp問題,但同樣引入新的問題,viewstate頁面存儲勢必增加頁面大小、降低程序性能。
3、代碼可重用性不好;缺少對並行開發支持,因為aspx頁面與cs緊密耦合太高;Seo不友好,因為url指定具體aspx頁面;不利於單元測試,因為使用大量事件處理函數。
DomainModel–領域模型:不僅僅是一個實體類,而是整個業務才處理流程的一個規則。
六、ViewState處理
ASP.Net MVC的開發方式。
2009年第一個開源項目版本發布。
更加簡潔,更加接近原始的「請求-處理-響應」。
更加開發、更多的新的特點、社區活躍。
不會取代WebForm。
底層跟WebForm都是一樣的。管道上不同的處理而已。
MVC只是表示層的一種新的方式。
MVC是微軟2009對外公布的第一個開源的表示層框架,這是微軟的第一個開源項目。
MVC目的不是取代WebFrom開發,只是web開發的另外一種選擇。
② php中MVC的開發模式如何去理解
MVC設計模式把一個軟體組件區分為三個不同的部分,model,view,controller。
MVC模式是"Model-View-Controller"的縮寫,中文翻譯為"模式-視圖-控制器"。MVC應用程序總是由這三個部分組成。Event(事件)導致Controller改變Model或View,或者同時改變兩者。只要Controller改變了Models的數據或者屬性,所有依賴的View都會自動更新。類似的,只要Controller改變了View,View會從潛在的Model中獲取數據來刷新自己。MVC模式最早是smalltalk語言研究團提出的,應用於用戶交互應用程序中。smalltalk語言和java語言有很多相似性,都是面向對象語言,很自然的SUN在petstore(寵物店)事例應用程序中就推薦MVC模式作為開發Web應用的架構模式。MVC模式是一種架構模式,其實需要其他模式協作完成。在J2EE模式目錄中,通常採用service to worker模式實現,而service to worker模式可由集中控制器模式,派遣器模式和Page Helper模式組成。而Struts只實現了MVC的View和Controller兩個部分,Model部分需要開發者自己來實現,Struts提供了抽象類Action使開發者能將Model應用於Struts框架中Model是代表組件狀態和低級行為的部分,它管理著自己的狀態並且處理所有對狀態的操作,model自己本身並不知道使用自己的view和controller是誰,系統維護著它和view之間的關系,當model發生了改變系統還負責通知相應的view。
View代表了管理model所含有的數據的一個視覺上的呈現。一個Model可以有一個以上的View,但是Swing中卻很少有這樣的情況。
Controller管理著model和用戶之間的交互的控制。它提供了一些方法去處理當model的狀態發生了變化時的情況。
③ asp.net和mvc的有什麼關系
ASP.NET MVC Framework是微軟在ASP.NET中所添加的一組類別庫,這組類庫可以使用Model-View-Controller的設計模式來開發ASP.NET的應用程序
Model:包括數據、驗證規則、數據訪問和業務邏輯等應用程序信息。
View:封裝了應用程序的表示層,是呈現給使用者看的信息。
Controller:包括控制流邏輯,控制信息流和應用程序的執行。接受來自用戶的指令與數據,並將Model與View做整合的控制器,當伺服器接到對ASP.NET MVC應用程序的要求時,伺服器(IIS)會先使用UrlRoutingMole(ASP.NET Routing的 HTTP 模塊),由它來解析是否有包含ASP.NET MVC應用程序的URL,若有,則會產生一個MvcRouteHandler對象,這個對象會裝載執行的必要信息,並且會呼叫包含在URL中的Controller的Execute方法來執行工作。
Web應用程序MVC化的優點有:
更易操作HTML標記
更方便地與Jquery整合,實現Ajax技術
創建SEO友好的URLS
驅動式開發更容易
Asp.net MVC發展史
ASP.NET MVC Framework的第一個版本於2009年3月17日釋出RTM版本,新的MVC 2.0也已在2010年3月11日釋出供.NET Framework 3.5版本使用的RTM版本,MVC2.0在Visual Studio 2010已有集成。接下來的一系列文章使用的工具就是VS2010 MVC2.0
Asp.net MVC2.0新特性
MVC2.0的新特性主要有:
Areas:允許組織多個邏輯層,便於團隊開發。
UI Helpers:可以使用strongly-typed helpers修改和展示數據,更易於維護舊有程序,從而提供高開發效率。
伺服器端驗證:可以使用聲明式註解定義模型的驗證規則。
客戶端驗證:自動產生基於模型驗證的客戶端驗證
④ PHP與asp.net做的網站各有什麼優缺點
。net的速度略快於php
開發周期也應該較短些,因為多數做.net開發的人,大多數都只是表面功夫ide拖來拖去就算完了,沒幾個了解內核的!出了問題就知道買伺服器,從來不想想自己的代碼有多垃圾。因為他的內核都是封裝的。(對不起各位.neter,我遇到的情況就是這樣)
php速度雖然略慢!配合mvc框架
開發周期應該和。net差不多!成本較低!
.net的成本要高於php!
用。net首先你必須不怕收到律師信。除非你花幾萬塊買全所有的軟體(還得說你是初期配置負載低)。
⑤ asp.net mvc是什麼
ASP.NET MVC 是微軟官方提供的以MVC模式為基礎的ASP.NET Web應用程序(Web Application)框架,它由Castle的MonoRail而來,日前最新版本是ASP.NET MVC 5.1。
MVC 是三種 ASP.NET 編程模式中的一種。[1]
MVC 是一種使用 MVC(Model View Controller 模型-視圖-控制器)設計創建 Web 應用程序的模式:
Model(模型)表示應用程序核心(比如資料庫記錄列表)。
View(視圖)顯示數據(資料庫記錄)。
Controller(控制器)處理輸入(寫入資料庫記錄)。
MVC 模式同時提供了對 HTML、CSS 和 JavaScript 的完全控制。
Model(模型)是應用程序中用於處理應用程序數據邏輯的部分。
通常模型對象負責在資料庫中存取數據。
View(視圖)是應用程序中處理數據顯示的部分。
通常視圖是依據模型數據創建的。
Controller(控制器)是應用程序中處理用戶交互的部分。
通常控制器負責從視圖讀取數據,控制用戶輸入,並向模型發送數據。
MVC 分層有助於管理復雜的應用程序,因為您可以在一個時間內專門關注一個方面。例如,您可以在不依賴業務邏輯的情況下專注於視圖設計。同時也讓應用程序的測試更加容易。
MVC 分層同時也簡化了分組開發。不同的開發人員可同時開發視圖、控制器邏輯和業務邏輯。
ASP.NET MVC優點:
1.通過把項目分成Model、View和Controller,使得復雜項目更加容易維護,減少項目之間的耦合。
2.沒有使用ViewState和伺服器表單控制項,可以更方便的控制應用程序的行為
3.應用程序通過Controller來控製程序請求,並提供了原生的UrlRouting功能來重寫Url。
4.使Web程序對單元測試的支持更加出色
5.在團隊開發模式下表現更出眾
⑥ 什麼是MVC以及PHP怎樣實現MVC
其實你的問題一開始就問錯了,即然你問了,我就隨便說說好了。
MVC 是一種設計風格,並不是一種具體手法。每個人寫代碼都有自己習慣的一種設計風格。MVC 是應用程序開發常用的一種風格,實際上並不適合 PHP,因為 PHP 的工作環境註定了它很難做出像樣的控制器,也就是 Controll 。
MVC 本來的設計風格是:整個系統由一個程序啟動,再根據用戶操作調用各個處理模塊,根據數據結果來決定顯示成什麼樣給用戶看。就像我們平時用的各種程序的主界面。這樣程序員創建好主程序以後,只要把注意力集中在開發各個子功能上就可以了。。
可是 php 大多數情況下工作於 web 環境,有「頁」的概念,每次執行都是一個新的請求。這就註定了很難實現真正的 MVC,因為用戶看到頁面時,PHP 已經執行完了,不可能再切換去調另一個 模型M 和 視圖V 。
目前自稱 MVC 的各種框架。也只不過是用一個程序判斷請求,載入不同的功能塊。只能稱之為「單點入口」,在思路上是「請求相同的部份,而包含不同的部份」。這個入口程序實際上啥也沒做,所以算不上是 MVC。反而 JS 開發的富客戶端更接近一些。由一個 JS 主程序,跟據用戶請求決定調用哪些數據,再把界面改變成什麼樣。
設計風格是前人總結出來的東西,在當前語言,當然環境,當前思維方式下。比較容易繼續思考的一種設計方式。MVC 只不過是其中一種,而且並不是最適合 PHP 的一種。偏偏被炒作得好像標准似的。。
如果你一定要, 就去看一下 「PHP 單點入口實現」吧,已經是比較接近的東西了。如果一次性的控制器也能算控制器的話……
⑦ asp.net mvc是什麼
MVC架構是"Model-View-Controller"的縮寫,中文翻譯為"模型-視圖-控制器"。
網路已經有很好的說明了
http://ke..com/view/739359.htm?fr=ala0_1_1
ASP.NET的Model還可以分成 BLL -> DAL
還有LZ說的是ASP.NET的MVC 不是JAVA的 大家都知道asp.net是事件驅動機制為主的
但這種機制會有很多壞處 例如運行速度慢(相對) 不得不為了控制刷新而參入各種技術(如AJAX) ASP.NET的MVC 用微軟的話說 就是摒棄了事件機制 摒棄了runat="server"控制項 其中利弊總之眾說紛紜 不過.NET專業的各位可以在JAVA的各位面前自豪的說:"我們的MVC性能比JAVA還好!"
自己寫的 有點慢了哈哈 已經有人貼了一大片
http://e.codepub.com/2009/0422/3206.php
再給LZ貼一個快速入門 可以更詳細的了解一下 並動手試試沒有aspx.cs的asp.net吧 :D
⑧ php除了mvc還有什麼架構
1. Yii
Yii是一個基於組件的高性能的PHP的框架,用於開發大規模Web應用。Yii採用嚴格的OOP編寫,並有著完善的庫引用以及全面的教程。從MVC,DAO/ActiveRecord,widgets,caching,等級式RBAC,Web服務,到主體化,I18N和L10N,Yii提供了今日Web 2.0應用開發所需要的幾乎一切功能。而且這個框架的價格也並不太高。事實上,Yii是最有效率的PHP框架之一。
2. CodeIgniter
CodeIgniter是一個應用開發框架——一個為建立PHP網站的人們所設計的工具包。其目標在於快速的開發項目:它提供了豐富的庫組以完成常見的任務,以及簡單的界面,富有條理性的架構來訪問這些庫。使用CodeIgniter開發可以往項目中注入更多的創造力,因為它節省了大量編碼的時間。
3. CakePHP
CakePHP是一個快速開發PHP的框架,其中使用了一些常見的設計模式如ActiveRecord,Association Data Mapping,Front Controller以及MVC。其主要目標在於提供一個令任意水平的PHP開發人員都能夠快速開發web應用的框架,而且這個快速的實現並沒有犧牲項目的彈性。
4. PHPDevShell
PHPDevShell是一個開源(GNU/LGPL)的快速應用開發框架,用於開發不含Javascript的純PHP。它有一個完整的GUI管理員後台界面。其主要目標在於開發插件一類的基於管理的應用,其中速度、安全、穩定性及彈性是最優先考慮的重點。其設計形成了一個簡單的學習曲線,PHP開發者無需學習復雜的新術語。PHPDevShell的到來滿足了開發者們對於一個輕量級但是功能完善,可以無限制的進行配置的GUI的需求。
5. Akelos
Akelos PHP框架是一個基於MVC設計模式的web應用開發平台。基於良好的使用習慣,使用它可以完成如下任務:
◆方便的使用Ajax編寫views
◆通過控制器管理請求(request)及響應(response)
◆管理國際化的應用
◆使用簡單的協議與模型及資料庫通信
你的Akelos應用可以在大多數共享主機服務供應方上運行,因為Akelos對伺服器唯一的要求就是支持PHP。因此,Akelos PHP框架是理想的用於發布單獨web應用的框架,因為它不需要非標准PHP配置便能運行。
6. Symfony
Symfony是一個用於開發PHP5項目的web應用框架。
這個框架的目的在於加速web應用的開發以及維護,減少重復的編碼工作。
Symfony的系統需求不高,可以被輕易的安裝在任意設置上:你只需一個Unix或Windows,搭配一個安裝了PHP5的網路伺服器即可。它與差不多所有的資料庫兼容。Symfony的價位不高,相比主機上的花銷要低得多。
對於PHP開發者而言,使用Symfony是一件很自然的事,其學習曲線只有短短一天。干凈的設計以及代碼可讀性將縮短開發時間。開發者可以將敏捷開發的原理(如DRY,KISS或XP等)應用在其中,將重點放在應用邏輯層面上,而不用花費大量時間在編寫沒完沒了的XML配置文件上。
Symfony旨在建立企業級的完善應用程序。也就是說,你擁有整個設置的控制權:從路徑結構到外部庫,幾乎一切都可以自定義。為了符合企業的開發條例,Symfony還綁定了一些額外的工具,以便於項目的測試,調試以及歸檔。
7. Prado
PRADO團隊由一些PRADO狂熱者組成,這些成員開發並推動PRADO框架以及相關項目的進行。
PRADO的靈感起源於Apache Tapestry。從04年開始,PRADO成為SourceForge上的開源項目之一。這個項目目前進展到了3.x版本。
8. Zend
作為PHP藝術及精神的延伸,Zend框架的基礎在於簡單,面向對象的最佳方法,方便企業的許可協議,以及經過反復測試的快速代碼庫。Zend框架旨在建造更安全,更可靠的Web 2.0應用及web服務,並不斷從前沿廠商(如Google,Amazon,Yahoo,Flickr,StrikeIron和ProgrammableWeb等)的API那裡吸收精華。
9. ZooP
Zoop PHP框架,意為Zoop面向對象的PHP框架。
這是個穩定,可伸縮並可移植的框架。從誕生到現在的5年間,已經在不少產品開發中被使用。Zoop是一個快速,有效並干凈的框架。它的伸縮性很好,你可以只安裝你需要的功能。
對代碼並不很熟悉的開發者也可以通過Zoop快速的開發安全的web應用。熟練的開發者則可以更加將Zoop的彈性利用到極致。
Zoop建議將display,logic以及數據層(MVC)分開使用。
Zoop由很多組件和項目集合而成,其中包括smarty和prototype AJAX框架,PEAR模塊等。高效的核心組件提供了很多你原本需要自己編碼來實現的功能。Zoop內置的糾錯功能可以通過配置實現生產環境下的錯誤日誌生成,這個錯誤日誌提供了很多信息,可讀性很高,可以更輕易的尋找並排除錯誤。
Zoop的一個特別之處在於其GuiControls,在PHP中是一個相當革新的想法。它提供了很多form widgets與驗證完整的集合到一起,並形成了一個可以輕松打造個性化GuiControls的框架。
10. QPHP
QPHP,意為快速PHP,它是一個與ASP.NET類似的MVC框架。基本上它是這樣一個情況:
◆整合了Java和C#的美感
◆除去了在其他PHP框架中使用的Perl形式的意義含糊的語言
◆大量基於OOP的概念
⑨ aspnetmvc網站性能怎麼樣
利用mvc做網站性能都可以滿足用戶需求。
MVC (Model、View、Controller)將一個Web應用分解為:Model、View和Controller。ASP.NET MVC框架提供了一個可以代替ASP.NETWebForm的基於MVC設計模式的應用。
ASP.NET MVC概述·MVC的優點:
1.通過把項目分成Model、View和Controller,使得復雜項目更加容易維護,減少項目之間的耦合。
2.使用ViewState和伺服器表單控制項,可以更方便的控制應用程序的行為
3.應用程序通過Controller來控製程序請求,並提供了原生的UrlRouting功能來重寫Url。
4.使Web程序對單元測試的支持更加出色
5.在團隊開發模式下表現更出眾
ASP.NET MVC概述·WebForm的優點:
1.採用事件驅動模式來控制應用程序請求,由大量伺服器控制項支持
2.採用頁面控制機制,可以為單個頁面添加事件處理函數。
3.使用ViewState和伺服器端頁面,使管理頁面狀態信息更加輕松。
4.對人數較少的想使用伺服器端控制項的開發團隊,使用起來更加方便
5.開發起來比MVC模式要輕松簡單一些
ASP.NET MVC概述MVC框架特色:
1.分離任務(輸入邏輯,業務邏輯和顯示邏輯),易於測試和默認支持測試驅動開發(TDD)。所有MVC用到的組件都是基於介面並且可以在進行測試時進行Mock,你在不運行ASP.NET進程的情況下進行測試,使得測試更加快速和簡捷。
2.可擴展的簡便的框架。MVC框架被設計用來更輕松的移植和定製功能。你可以自定義視圖引擎、UrlRouting規則及重載Action方法等。MVC也支持Dependency Injection (DI,依賴注入) and Inversion of Control (IoC,控制反轉)的良好支持。
3.強大的UrlRouting機制讓你更方便的建立容易理解和可搜索的Url,為SEO提供更好的支持。Url可以不包含任何文件擴展名,並且可以重寫Url使其對搜索引擎更加友好。
4.可以使用ASP.NET現有的頁面標記、用戶控制項、模板頁。你可以使用嵌套模板頁,嵌入表達式<%=%>,聲明伺服器控制項、模板,數據綁定、定位等等。
5.對現有的asp.net程序的支持,mvc讓你可以使用如窗體認證和Windows認證、url認證、組管理和規則、輸出、數據緩存、session、profile 、health monitoring、配置管理系統、provider architecture特性。