什么是MVC,什么是WCF


在C#中總會遇到這幾個概念,網上搜了一下,做一下總結和比較,東拼西湊,如有雷同,純屬直接拷貝,人懶,但無意侵權。

1、什么是MVC

MVC是三個單詞的首字母縮寫,它們是Model(模型)、View(視圖)和Controller(控制)。

這個模式認為,程序不論簡單或復雜,從結構上看,都可以分成三層。

1)最上面的一層,是直接面向最終用戶的"視圖層"(View)。它是提供給用戶的操作界面,是程序的外殼。

2)最底下的一層,是核心的"數據層"(Model),也就是程序需要操作的數據或信息。

3)中間的一層,就是"控制層"(Controller),它負責根據用戶從"視圖層"輸入的指令,選取"數據層"中的數據,然后對其進行相應的操作,產生最終結果。

這三層是緊密聯系在一起的,但又是互相獨立的,每一層內部的變化不影響其他層。每一層都對外提供接口(Interface),供上面一層調用。這樣一來,軟件就可以實現模塊化,修改外觀或者變更數據都不用修改其他層,大大方便了維護和升級。

舉例:

bg2007110801.jpg

我用Windows的計算器小程序為例,解釋一下MVC模式,雖然它不一定使用這個模式編寫。

在這個計算器程序中,外部的那些按鈕和最上面的顯示條,就是"視圖層",那些需要運算的數字就是"數據層",執行加減乘除的那些內部運算步驟就是"控制層"。每一層執行不同的功能,整個程序的結構非常清楚。

如果我們擴大一點想象,就會發現,很多程序本質上都是這種模式:對外提供一組觸發器(本例中是按鈕),然后執行一些內部操作,最后返回結果。因此,MVC模式的應用是非常廣泛的。

2、什么是WCF:https://docs.microsoft.com/en-us/dotnet/framework/wcf/whats-wcf

Windows Communication Foundation(WCF)是由微軟發展的一組數據通信的應用程序開發接口,可以翻譯為Windows通訊接口,它是.NET框架的一部分。

Windows Communication Foundation (WCF) is a framework for building service-oriented applications. Using WCF, you can send data as asynchronous messages from one service endpoint to another. A service endpoint can be part of a continuously available service hosted by IIS, or it can be a service hosted in an application. An endpoint can be a client of a service that requests data from a service endpoint. The messages can be as simple as a single character or word sent as XML, or as complex as a stream of binary data. 

既然是一種面向服務的開發,就要說明其與面向應用的開發的區別和優點,可惜我沒找的總結的很好的,先做記號,以后自己總結。

收藏兩個圖,以利於理解面向服務的開發。

在基於Asp.net 的應用程序開發中,我們由客戶機的瀏覽器訪問應用程序服務器,然后通過應用程序服務器中的數據庫連接去連接數據庫服務器,讀取或是操作數據,有時候可能會多一個文件服務器。大家可以觀察到,基本上所有的應用都放在了一台服務器上,但對於一個,由於業務上的需要(如:與外部系統交互),一台服務器很難支持所有的應用。我們再看下面的圖:

客戶機使用瀏覽器訪問服務器A,服務器A為了業務需要與其他各種應用部署在服務器B、C、D....再通過WCF技術互相通信,相互訪問...然而面向服務的好處不僅僅在此,他還提供了不同語言不同操作系統的可交互性等等。

3、WCF的特點

體會不深,以后再寫吧。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM