2008-11-05 90 views
7

在ASP.NET MVC中,我們需要爲所有控制器使用後綴「Controller」。這似乎是不必要的限制 - 是否有技術原因呢?爲什麼ASP.NET MVC基於名稱的控制器?

我大多隻是好奇,但可以看到更靈活的命名規則可以改善代碼組織的情況。使用反射來搜索Controller派生類不能輕易發現可能的控制器類嗎?或者要求控制器類別標記爲ControllerAttribute

+0

@ shog9:感謝讀寫能力的提高。 – 2008-11-05 18:50:01

+0

@Augusto:沒問題。 – Shog9 2008-11-05 19:05:46

回答

14

MVC社區深受Ruby on Rails影響,其值爲「convention over configuration」。通過一致地命名事物,應用程序可以以零配置運行。

+0

你打敗了我!這是一個鏈接:http://en.wikipedia.org/wiki/Convention_over_configuration – 2008-11-05 18:26:03

3

這個約定的好處之一是,通常有一個URL段,控制器和模型類都具有相同的名稱。

網址:/產品/ 控制器:產品:控制器 型號:產品

這將導致命名衝突。所以我們制定了一個約定,讓控制器名稱後面加上「Controller」以避免這種衝突。但是,您可以通過我們的可擴展性API來覆蓋此行爲。

相關問題