Dlaczego kontrolery MVC muszą mieć końcową konwencję kontrolera o nazwie klasy?
Uważam za śmieszne, że MVC nie rozpoznaje kontrolera, jeśli nie ma kontrolera dołączonego do nazwy klasy.Ta odpowiedź wspominaControllerDescriptor
iControllerTypeCache
jako dwa miejsca w MVC, gdzie ta konwencja jest utworzona.
Moje pytanie brzmi: dlaczego? To oczywiście nie jest konwencja nad konfiguracjąIsControllerType
wControllerTypeCache
sprawdza, czy klasa:
IController
Kończy się na"Controller"
Czy ktoś zna powód tego? Po tym wszystkim kontrolery będą prawdopodobnie w rzeczywistym projekcie MVC, w folderze o nazwie „Kontrolery”, a proste dwukrotne kliknięcie pliku pokaże nam, że klasa dziedziczyController
.
Po prostu wydaje mi się głupia - ale zastanawiałem się, czy jestrzeczywisty dlaczego to zrobili.
EDYTOWAĆ
Właśnie widziałemten wpis na blogu Phil Haack z wczoraj, gdzie omawia tę konwencję - jest o mnie taki sam - Prawdopodobnie trochę bezcelowy!