2017-02-14 68 views
0

我是.Net開發人員。我對「技術」,「框架」和「架構模式」這些術語感到困惑。爲什麼技術和架構模式不能被視爲框架

例如: -
1. Asp.Net MVC被稱爲構架模式
2. ADO.NET是一個數據接入技術(如每維基百科)
3. .NET是稱爲框架。

我對Framework的理解是,它由幫助函數組成,這將簡化我們的工作。例如:String.Concat()將連接給定的字符串並返回一個新的字符串。 String.Contains(「」)將檢查字符串的存在。

  1. 所以,從技術上講,ADO.Net可以通過使用一些 「SQL輔助函數」(如SqlConnection類等)achived。 以及System.Data命名空間中的所有這些幫助函數。

    • 因此,這也應該被稱爲「框架」的權利,但他們爲什麼稱它爲「技術」。
  2. 而且,對於Asp.Net MVC也是如此。 (在System.Web.MVC名稱空間下進行分類)。我們來看一個「Html.InputFor()」(它是「另一個幫助函數」)的例子,它將代表我們進行一些輸入並構建等效的HTML字符串。那麼,這應該也算是「框架」吧?

因此,所有這些輔助函數都被分類到特定的名稱空間中,這對開發人員來說可以是有意義的消費/重用。

那麼,一切都可以稱爲「框架」吧?

有人可以幫我理解這個術語。

感謝。

回答

1

ASP.NET MVC是一個框架,特別是一個Web應用程序框架。 MVC是一種架構模式。 ASP.NET MVC受MVC架構模式的啓發。

A 框架通常是一個更加全面的組件交叉切割集合。 .NET框架顯然覆蓋了很多不同的東西,因爲它幾乎覆蓋了Windows,ASP.NET,Windows Mobile等所有的東西。ASP.NET MVC是一個框架,很大程度上出於同樣的原因,它包括數據訪問,路由,視圖和模板等。它也是,.NET的另一個框架的一部分。框架可以由其他框架組成。

使用術語「技術」來描述類似ADO.NET的東西有點任意;它只是不是一個框架,所以微軟選擇用「技術」作爲術語來描述它。你可以說「組件」,「模塊」等。無論如何,這只是一件事:數據訪問。沒有交叉擔憂。這不是你剛剛使用的情況。例如,使用它將用作ASP.NET的一部分。