ASP_NET_MVC_5_Zaawansowane_programowanie_asp5zp.pdf

(1153 KB) Pobierz
Tytuł oryginału: Pro ASP.NET MVC 5
Tłumaczenie: Robert Górczyński
ISBN: 978-83-283-0651-6
Original edition copyright © 2013 by Adam Freeman.
All rights reserved.
Polish edition copyright © 2015 by HELION SA.
All rights reserved.
All rights reserved. No part of this book may be reproduced or transmitted in any form or by any means,
electronic or mechanical, including photocopying, recording or by any information storage retrieval system,
without permission from the Publisher.
Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej
publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą kserograficzną,
fotograficzną, a także kopiowanie książki na nośniku filmowym, magnetycznym lub innym powoduje
naruszenie praw autorskich niniejszej publikacji.
Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich
właścicieli.
Autor oraz Wydawnictwo HELION dołożyli wszelkich starań, by zawarte w tej książce informacje były
kompletne i rzetelne. Nie biorą jednak żadnej odpowiedzialności ani za ich wykorzystanie, ani za związane
z tym ewentualne naruszenie praw patentowych lub autorskich. Autor oraz Wydawnictwo HELION nie
ponoszą również żadnej odpowiedzialności za ewentualne szkody wynikłe z wykorzystania informacji
zawartych w książce.
Wydawnictwo HELION
ul. Kościuszki 1c, 44-100 GLIWICE
tel. 32 231 22 19, 32 230 98 63
e-mail:
helion@helion.pl
WWW:
http://helion.pl
(księgarnia internetowa, katalog książek)
Pliki z przykładami omawianymi w książce można znaleźć pod adresem:
ftp://ftp.helion.pl/przyklady/asp5zp.zip
Drogi Czytelniku!
Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres
http://helion.pl/user/opinie/asp5zp
Możesz tam wpisać swoje uwagi, spostrzeżenia, recenzję.
Printed in Poland.
Kup książkę
Poleć książkę
Oceń książkę
Księgarnia internetowa
Lubię to! » Nasza społeczność
Spis tre ci
O autorze ...............................................................................................................17
O recenzencie technicznym ....................................................................................18
Rozdzia 1.
ASP.NET MVC w szerszym kontek cie ....................................................................19
Krótka historia programowania witryn WWW .............................................................................. 19
Co poszło nie tak z ASP.NET Web Forms? .............................................................................. 20
Programowanie witryn WWW — stan obecny .............................................................................. 21
Standardy sieciowe oraz REST .................................................................................................... 21
Programowanie zwinne i sterowane testami ............................................................................ 22
Ruby on Rails ................................................................................................................................. 22
Node.js ............................................................................................................................................ 22
Najważniejsze zalety ASP.NET MVC ............................................................................................... 23
Architektura MVC ........................................................................................................................ 23
Rozszerzalność .............................................................................................................................. 24
Ścisła kontrola nad HTML i HTTP ............................................................................................ 24
Łatwość testowania ....................................................................................................................... 24
Zaawansowany system routingu ................................................................................................ 25
Zbudowany na najlepszych częściach platformy ASP.NET ................................................... 25
Nowoczesne API ........................................................................................................................... 26
ASP.NET MVC jest open source ................................................................................................ 26
Co powinienem wiedzieć? .................................................................................................................. 26
Jaka jest struktura książki? .................................................................................................................. 27
Część I. Wprowadzenie do ASP.NET MVC 5 .......................................................................... 27
Część II. Szczegółowe omówienie platformy ASP.NET MVC ............................................... 27
Co nowego w ASP.NET MVC 5? ...................................................................................................... 27
Gdzie znajdę przykładowe fragmenty kodu? ................................................................................... 28
Jakiego oprogramowania będę potrzebował? .................................................................................. 28
Bootstrap ............................................................................................................................................... 29
Podsumowanie ..................................................................................................................................... 29
Kup książkę
Poleć książkę
SPIS TRE CI
Rozdzia 2.
Pierwsza aplikacja MVC .........................................................................................31
Przygotowanie Visual Studio ............................................................................................................. 31
Tworzenie nowego projektu ASP.NET MVC ................................................................................. 31
Dodawanie pierwszego kontrolera ............................................................................................. 34
Poznajemy trasy ............................................................................................................................ 37
Generowanie stron WWW ................................................................................................................ 37
Tworzenie i generowanie widoku .............................................................................................. 37
Dynamiczne dodawanie treści .................................................................................................... 41
Tworzenie prostej aplikacji wprowadzania danych ........................................................................ 42
Przygotowanie sceny .................................................................................................................... 42
Projektowanie modelu danych ................................................................................................... 43
Łączenie metod akcji .................................................................................................................... 44
Budowanie formularza ................................................................................................................. 47
Zdefiniowanie początkowego adresu URL ............................................................................... 49
Obsługa formularzy ...................................................................................................................... 50
Dodanie kontroli poprawności ................................................................................................... 53
Nadanie stylu zawartości ............................................................................................................. 58
Kończymy przykład ...................................................................................................................... 63
Podsumowanie ..................................................................................................................................... 64
Rozdzia 3.
Wzorzec MVC .........................................................................................................65
Historia MVC ....................................................................................................................................... 65
Wprowadzenie do wzorca MVC ....................................................................................................... 66
Budowa modelu domeny ............................................................................................................. 66
Implementacja MVC w ASP.NET .............................................................................................. 67
Porównanie MVC z innymi wzorcami ...................................................................................... 67
Budowanie luźno połączonych komponentów ............................................................................... 70
Wykorzystanie wstrzykiwania zależności ................................................................................. 71
Użycie kontenera wstrzykiwania zależności ............................................................................. 72
Zaczynamy testy automatyczne ......................................................................................................... 74
Zadania testów jednostkowych ................................................................................................... 74
Zadania testów integracyjnych ................................................................................................... 79
Podsumowanie ..................................................................................................................................... 79
Rozdzia 4.
Najwa niejsze cechy j zyka ...................................................................................81
Utworzenie przykładowego projektu ................................................................................................ 81
Dodanie podzespołu System.Net.Http ...................................................................................... 83
Użycie automatycznie implementowanych właściwości ................................................................... 83
Użycie inicjalizatorów obiektów i kolekcji ....................................................................................... 86
Użycie metod rozszerzających ........................................................................................................... 88
Stosowanie metod rozszerzających do interfejsów .................................................................. 90
Tworzenie filtrujących metod rozszerzających ........................................................................ 92
Użycie wyrażeń lambda ...................................................................................................................... 93
Automatyczna inferencja typów ........................................................................................................ 97
Użycie typów anonimowych .............................................................................................................. 97
Wykonywanie zapytań LINQ ............................................................................................................ 98
Opóźnione zapytania LINQ ...................................................................................................... 102
Użycie metod asynchronicznych ..................................................................................................... 103
Użycie słów kluczowych async i await ..................................................................................... 105
Podsumowanie ................................................................................................................................... 106
6
Kup książkę
Poleć książkę
SPIS TRE CI
Rozdzia 5.
Praca z silnikiem Razor ........................................................................................107
Utworzenie przykładowego projektu .............................................................................................. 107
Definiowanie modelu ................................................................................................................. 108
Definiowanie kontrolera ............................................................................................................ 108
Tworzenie widoku ...................................................................................................................... 109
Korzystanie z obiektów modelu ...................................................................................................... 109
Praca z układami ................................................................................................................................ 111
Tworzenie układu ....................................................................................................................... 112
Stosowanie układu ...................................................................................................................... 113
Użycie pliku ViewStart ............................................................................................................... 114
Użycie układów współdzielonych ............................................................................................ 115
Użycie wyrażeń Razor ....................................................................................................................... 118
Wstawianie wartości danych ..................................................................................................... 119
Przypisanie wartości atrybutu ................................................................................................... 121
Użycie konstrukcji warunkowych ............................................................................................ 123
Wyświetlanie zawartości tablic i kolekcji ................................................................................ 125
Praca z przestrzenią nazw .......................................................................................................... 127
Podsumowanie ................................................................................................................................... 128
Rozdzia 6.
Wa ne narz dzia wspieraj ce MVC .....................................................................129
Tworzenie przykładowego projektu ............................................................................................... 130
Utworzenie klas modelu ............................................................................................................ 130
Dodanie kontrolera .................................................................................................................... 132
Dodanie widoku .......................................................................................................................... 132
Użycie Ninject .................................................................................................................................... 133
Zrozumienie problemu .............................................................................................................. 133
Dodawanie Ninject do projektu Visual Studio ....................................................................... 135
Zaczynamy korzystać z Ninject ................................................................................................ 136
Konfiguracja wstrzykiwania zależności na platformie MVC ............................................... 137
Tworzenie łańcucha zależności ................................................................................................. 140
Definiowanie wartości właściwości i parametrów konstruktora ......................................... 142
Użycie łączenia warunkowego .................................................................................................. 143
Ustawienie obiektu zakresu ....................................................................................................... 144
Testy jednostkowe w Visual Studio ................................................................................................. 147
Tworzenie projektu testów jednostkowych ............................................................................ 147
Tworzenie testów jednostkowych ............................................................................................ 148
Uruchamianie testów (nieudane) ............................................................................................. 152
Implementacja funkcji ............................................................................................................... 152
Testowanie i poprawianie kodu ................................................................................................ 153
Użycie Moq ......................................................................................................................................... 155
Zrozumienie problemu .............................................................................................................. 155
Dodawanie Moq do projektu Visual Studio ........................................................................... 157
Dodanie obiektu imitacyjnego do testu jednostkowego ....................................................... 157
Tworzenie bardziej skomplikowanych obiektów Mock ....................................................... 160
Podsumowanie ................................................................................................................................... 162
7
Kup książkę
Poleć książkę
Zgłoś jeśli naruszono regulamin