ściągnij PDF
1) Wyjaśnij, czym jest kontroler widoku modelu?
MVC to wzorzec architektury oprogramowania do tworzenia aplikacji internetowych. Obsługiwany jest przez trzy obiekty Model-View-Controller.
2) Wspomnij, co reprezentuje Model-View-Controller w aplikacji MVC?
W modelu MVC
- Model - reprezentuje domenę danych aplikacji. Innymi słowy, logika biznesowa aplikacji jest zawarta w modelu i odpowiada za utrzymanie danych
- Widok - reprezentuje interfejs użytkownika, z którym komunikują się użytkownicy końcowi. Krótko mówiąc, cała logika interfejsu użytkownika jest zawarta w VIEW
- Kontroler - to kontroler, który odpowiada na działania użytkownika. Na podstawie działań użytkownika odpowiedni kontroler odpowiada w ramach modelu i wybiera widok do renderowania, który wyświetla interfejs użytkownika. Logika wprowadzania danych przez użytkownika jest zawarta w kontrolerze
3) Wyjaśnij, w którym zestawie jest zdefiniowana struktura MVC?
Struktura MVC jest zdefiniowana w System.Web.Mvc.
4) Wymień kilka różnych typów zwracanych przez metodę akcji kontrolera?
- Pokaż rezultat
- Wynik JavaScript
- Wynik przekierowania
- Wynik JSON
- Wynik treści
5) Wspomnij, jaka jest różnica między dodawaniem tras do aplikacji internetowej i aplikacji MVC?
W celu dodania tras do aplikacji webform możemy skorzystać z metody MapPageRoute () klasy RouteCollection, gdzie dodając trasy do aplikacji MVC można skorzystać z metody MapRoute ().
6) Wspomnij, jakie są dwa sposoby dodawania ograniczeń do trasy?
Dwie metody dodawania ograniczeń do trasy to
- Używaj wyrażeń regularnych
- Użyj obiektu, który implementuje interfejs IRouteConstraint
7) Wspomnij o zaletach MVC?
- MVC segreguje Twój projekt na inny segment i programistom łatwiej będzie nad nim pracować
- Łatwo jest edytować lub zmieniać jakąś część projektu, co sprawia, że projekt jest mniejszy koszt opracowania i utrzymania
- MVC sprawia, że Twój projekt jest bardziej systematyczny
8) Wspomnieć, co robią funkcje „beforFilter ()”, „beforeRender” i „afterFilter” w kontrolerze?
- beforeFilter (): Ta funkcja jest uruchamiana przed każdą akcją w kontrolerze. To właściwe miejsce, aby sprawdzić aktywną sesję lub sprawdzić uprawnienia użytkowników.
- beforeRender (): ta funkcja jest wywoływana po logice akcji kontrolera, ale przed renderowaniem widoku. Ta funkcja nie jest często używana, ale może być wymagana, jeśli wywołujesz render () ręcznie przed zakończeniem danej akcji
- afterFilter (): ta funkcja jest wywoływana po każdej akcji kontrolera i po zakończeniu renderowania. Jest to ostatnia metoda kontrolera do uruchomienia
9) Wyjaśnij rolę prezentacji, abstrakcji i kontroli komponentów w MVC?
- Prezentacja: Jest to wizualna reprezentacja określonej abstrakcji w aplikacji
- Abstrakcja: Jest to funkcjonalność domeny biznesowej w aplikacji
- Kontrola: jest to komponent, który zachowuje spójność między abstrakcją w systemie a ich prezentacją użytkownikowi, a także komunikuje się z innymi kontrolkami w systemie
10) Wymień zalety i wady modelu MVC?
Zalety |
Niedogodności |
|
|
11) Wyjaśnij rolę „ActionFilters” w MVC?
W MVC „ActionFilters” pomaga w wykonywaniu logiki podczas wykonywania akcji MVC lub jej wykonywania.
12) Wyjaśnij, jakie kroki należy wykonać, aby wykonać projekt MVC?
Kroki do wykonania projektu MVC obejmują
- Otrzymaj pierwsze zapytanie o aplikację
- Wykonuje routing
- Tworzy moduł obsługi żądań MVC
- Utwórz kontroler
- Wykonaj kontroler
- Wywołaj akcję
- Wynik wykonania
13) Wyjaśnij, co to jest routing? Jakie trzy segmenty routingu są ważne?
Routing pomaga zdecydować o strukturze adresu URL i zmapować go za pomocą kontrolera.
Trzy segmenty, które są ważne dla routingu, to
- Nazwa kontrolera
- ActionMethodName
- Parametr
14) Wyjaśnij, jak przebiega routing we wzorcu MVC?
Istnieje grupa tras o nazwie RouteCollection, która składa się z tras zarejestrowanych w aplikacji. Metoda RegisterRoutes rejestruje trasy w tej kolekcji. Trasa definiuje wzorzec adresu URL i procedurę obsługi, która ma być używana, jeśli żądanie pasuje do wzorca. Pierwszym parametrem metody MapRoute jest nazwa trasy. Drugim parametrem będzie wzorzec, do którego pasuje adres URL. Trzeci parametr może być wartościami domyślnymi dla symboli zastępczych, jeśli nie są one określone.
15) Wyjaśnij, używając hiperłącza, w jaki sposób możesz przechodzić z jednego widoku do drugiego?
Używając metody „ActionLink”, jak pokazano w poniższym kodzie. Poniższy kod utworzy prosty adres URL, który pomoże przejść do kontrolera „Home” i wywołać akcję „GotoHome”.
Zwiń / Kopiuj kod
<% = Html.ActionLink ("Strona główna", "Gotohome")%>
16) Wspomnieć, jak można utrzymać sesję w MVC?
Sesja może być utrzymywana w MVC na trzy sposoby tempdata, viewdata i viewbag.
17) Wspomnij, jaka jest różnica między danymi Temp, View i View Bag?
- Dane tymczasowe: pomaga zachować dane podczas zmiany z jednego kontrolera na inny.
- Przeglądanie danych: pomaga zachować dane podczas przechodzenia od kontrolera do widoku
- Wyświetl torbę: to dynamiczne opakowanie wokół danych widoku
18) Co to jest częściowy widok w MVC?
Częściowy widok w MVC renderuje część zawartości widoku. Jest to pomocne w ograniczaniu powielania kodu. Mówiąc najprościej, widok częściowy umożliwia renderowanie widoku w widoku nadrzędnym.
19) Wyjaśnij, jak możesz zaimplementować Ajax w MVC?
W MVC Ajax można zaimplementować na dwa sposoby
- Biblioteki Ajax
- Jquery
20) Wspomnieć, jaka jest różnica między „ActionResult” a „ViewResult”?
„ActionResult” jest klasą abstrakcyjną, podczas gdy „ViewResult” jest pochodną klasy „AbstractResult”. „ActionResult” ma wiele klas pochodnych, takich jak „JsonResult”, „FileStreamResult” i „ViewResult”.
„ActionResult” jest najlepszy, jeśli dynamicznie wyprowadzasz różne typy widoków.
21) Wyjaśnij, jak możesz odesłać wynik w formacie JSON w MVC?
Aby odesłać wynik w formacie JSON w MVC, możesz użyć klasy „JSONRESULT”.
22) Wyjaśnij, jaka jest różnica między Widokiem a Widokiem częściowym?
Widok |
Częściowy widok |
|
|
23) Wymień typy wyników w MVC?
W MVC istnieje dwanaście typów wyników w MVC, gdzie klasa „ActionResult” jest główną klasą, a 11 to ich podtypy
- Pokaż rezultat
- PartialViewResult
- EmptyResult
- RedirectResult
- RedirectToRouteResult
- JsonResult
- JavaScriptResult
- ContentResult
- FileContentResult
- FileStreamResult
- FilePathResult
24) Wspomnij, jakie jest znaczenie NonActionAttribute?
Wszystkie metody publiczne klasy kontrolera są traktowane jako metoda akcji, jeśli chcesz zapobiec tej domyślnej metodzie, musisz przypisać metodę publiczną za pomocą NonActionAttribute.
25) Wspomnij, jakie jest zastosowanie domyślnej trasy {zasób} .axd / {* pathinfo}?
Ta trasa domyślna zapobiega przesyłaniu do kontrolera żądań dotyczących pliku zasobów sieci Web, takiego jak Webresource.axd lub ScriptResource.axd.
26) Podaj kolejność filtrów, które są wykonywane, jeśli zaimplementowano wiele filtrów?
Kolejność filtrów byłaby podobna
- Filtry autoryzacji
- Filtry akcji
- Filtry odpowiedzi
- Filtry wyjątków
27) Wspomnieć, jakie filtry są wykonywane na końcu?
Na końcu wykonywane są „Filtry wyjątków”.
28) Wspomnij, jakie są rozszerzenia plików dla widoków maszynki do golenia?
W przypadku widoków maszynki do golenia mają rozszerzenia plików
- .cshtml: jeśli C # jest językiem programowania
- .vbhtml: Jeśli językiem programowania jest VB
29) Wspomnij, jakie są dwa sposoby dodawania ograniczeń do trasy?
Istnieją dwie metody dodawania ograniczeń do trasy
- Korzystanie z wyrażeń regularnych
- Korzystanie z obiektu, który implementuje interfejs IRouteConstraint
30) Wspomnij o dwóch przypadkach, w których routing nie jest zaimplementowany lub wymagany?
Dwie sytuacje, w których routing nie jest wymagany, to
- Gdy zostanie znaleziony plik fizyczny, który pasuje do wzorca adresu URL
- Gdy routing jest wyłączony dla wzorca adresu URL
31) Wspomnij, jakie są główne zalety korzystania z MVC?
Korzystanie z MVC ma dwie kluczowe zalety
- Ponieważ kod jest przenoszony za oddzielny plik klasy, można go w dużym stopniu używać
- Ponieważ kod jest po prostu przenoszony do klasy .NET, można zautomatyzować testowanie interfejsu użytkownika. Daje to możliwość zautomatyzowania ręcznego testowania i pisania testów jednostkowych.