ASP.NET MVC 4
Programowanie aplikacji webowych
ASP.NET MVC 4, czyli po co komu wzorce projektowe
Dodatki zewnętrzne, czyli jak wspomagać aplikację innymi technologiami
Studia przypadku, czyli od czego zacząć i na czym skończyć w praktyce
ASP.NET MVC to technologia, której poznanie pozwala na szybkie tworzenie eleganckich,
prostych w utrzymaniu, lecz wyrafinowanych w działaniu średnich i dużych aplikacji
webowych. Współpraca z najważniejszymi standardami internetowymi, takimi jak HTML5,
CSS, jQuery czy chmurą Windows Azure, możliwość projektowania aplikacji dla urządzeń
mobilnych i uproszczenie budowy modelu domenowego to tylko próbka najnowszych
funkcjonalności, jakie zapewnia wersja 4 tego znakomitego frameworka.
Jeśli chcesz zostać rozchwytywanym specjalistą pracującym z użyciem ASP.NET MVC 4,
nie znajdziesz lepszej książki. W części pierwszej opisano powstanie i warianty wzorca
MVC, a także warstwy kontrolerów, widoków i modeli. Jej lektura pozwoli Ci poznać
zasady działania frameworka, zorientować się w jego strukturze i opanować korzystanie
z komponentów zewnętrznych, takich jak jQuery czy AJAX. Natomiast część druga zawiera
cztery studia przypadku, czyli szczegółowe omówienie procesu budowania czterech
różnych aplikacji, korzystających z różnych technologii pomocniczych i osadzonych w
różnych środowiskach. Dzięki temu uda Ci się zobaczyć w praktyce, jak to wszystko
działa.
Model-Widok-Kontroler
Framework ASP.NET MVC 4
Kontrolery
Widoki
Modele
Routing, czyli przekierowania
AJAX
Entity Framework + Database Migrations
Studium przypadku: serwis Subskrypcja
Studium przypadku: serwis Portal Usług
Studium przypadku: serwis Moje-Zdjęcia w Windows Azure
Studium przypadku: serwis Planner
Bibliografia
Wstęp (7)
Rozdział 1. Model-Widok-Kontroler (11)
- 1.1. Krótka historia MVC (11)
- 1.2. Klasyczna postać wzorca MVC (12)
- 1.3. MVC jako wzorzec złożony (14)
- 1.3.1. Obserwator (15)
- 1.3.2. Strategia (15)
- 1.3.3. Kompozyt (16)
- 1.4. MVC dla aplikacji webowych (17)
- 1.5. Warianty MVC (18)
- 1.5.1. Wzorzec Model-Widok-Prezenter (MVP) (18)
- 1.5.2. Wzorzec Prezentacja-Abstrakcja-Kontrola (PAC) (19)
- 1.5.3. Wzorzec Model-Widok-Widok Modelu (MVVM) (19)
- 1.6. Implementacja MVC w językach programowania (19)
- 1.6.1. Ruby: Ruby on Rails (19)
- 1.6.2. Python: Django (20)
- 1.6.3. Java: Spring, Struts (20)
- 1.6.4. PHP: Zend Framework (20)
- 1.7. Podsumowanie (20)
Rozdział 2. Framework ASP.NET MVC 4 (23)
- 2.1. Założenia projektowe frameworku ASP.NET MVC (25)
- 2.1.1. Rozszerzalność (26)
- 2.1.2. Konwencja nad konfiguracją (26)
- 2.1.3. Pełna kontrola nad HTML i HTTP (26)
- 2.1.4. Testowalność (27)
- 2.1.5. Elastyczny mechanizm routingu (27)
- 2.1.6. Dostępność sprawdzonych funkcji i elementów frameworku ASP.NET (27)
- 2.1.7. Nowoczesne API (27)
- 2.1.8. Dostęp do kodu źródłowego (28)
- 2.2. Wersje i usprawnienia frameworku ASP.NET MVC (28)
- 2.3. Routing URL (29)
- 2.4. Testowanie (30)
- 2.4.1. Testowanie zwróconego widoku (31)
- 2.4.2. Testowanie zwróconych danych (31)
- 2.4.3. Testowanie zwróconego rezultatu (32)
- 2.5. Struktura aplikacji w ASP.NET MVC 4 (33)
- 2.6. Podsumowanie (37)
Rozdział 3. Kontrolery (39)
- 3.1. Akcje i parametry (41)
- 3.2. Model binding (44)
- 3.3. Filtry (46)
- 3.4. Wbudowane atrybuty (49)
- 3.4.1. NonAction (49)
- 3.4.2. Atrybut ActionNameAttribute (49)
- 3.4.3. Atrybut AcceptVerbsAttribute (50)
- 3.5. Podsumowanie (50)
Rozdział 4. Widoki (53)
- 4.1. Przekazywanie danych do widoków (54)
- 4.2. Silniki widoków: Razor i ASPX (57)
- 4.3. Definicja szablonu widoku (60)
- 4.4. Metody pomocnicze HTML (61)
- 4.5. Helpery Razor (63)
- 4.6. Podsumowanie (63)
Rozdział 5. Modele (65)
- 5.1. Entity Framework (66)
- 5.1.1. Konwencje i klasa kontekstowa w Code First (67)
- 5.2. Walidacja i adnotacje danych (68)
- 5.3. Asocjacje (związki) (70)
- 5.3.1. Związek jeden-do-jednego (70)
- 5.3.2. Związek jeden-do-wielu (opcjonalny) i związek jeden-do-wielu (obligatoryjny)
(71)
- 5.3.3. Związek wiele-do-wielu (71)
- 5.3.4. Związek wiele-do-wielu, klasa asocjacyjna z dodatkowymi atrybutami (72)
- 5.3.5. Generalizacja (72)
- 5.4. Podsumowanie (73)
Rozdział 6. Zagadnienia zaawansowane (75)
- 6.1. Routing, czyli przekierowania (75)
- 6.1.1. Deklaracja tras (76)
- 6.1.2. Przykład deklaracji własnej trasy (77)
- 6.1.3. Używanie trasowania do generowania linków (79)
- 6.2. AJAX (80)
- 6.3. Entity Framework + Database Migrations (83)
- 6.3.1. Podejście Code First (84)
- 6.3.2. Database Migrations (87)
- 6.4. Mechanizm grupowania i minimalizacji (90)
- 6.4.1. Wpływ grupowania i minimalizacji (91)
- 6.4.2. Kontrola i konfiguracja w projekcie MVC 4 (92)
- 6.5. Podsumowanie (94)
Rozdział 7. Studium przypadku: serwis Subskrypcja (95)
- 7.1. Biznesowa wizja systemu (95)
- 7.2. Projektowa wizja systemu (96)
- 7.3. Przygotowanie projektu (97)
- 7.4. Przygotowanie bazy danych (99)
- 7.5. Dodanie modelu (101)
- 7.6. Utworzenie kontrolera Subscriber (104)
- 7.7. Dodanie widoków dla kontrolera Subscriber (109)
- 7.8. Modyfikacja routingu oraz dostosowanie strony wzorcowej (119)
- 7.9. Dodanie modelu Newsletter (121)
- 7.10. Utworzenie kontrolera Newsletter (122)
- 7.11. Dodanie widoków dla kontrolera Newsletter (125)
- 7.12. Utworzenie użytkownika Administrator (127)
- 7.13. Utworzenie modelu Administrator (130)
- 7.14. Utworzenie kontrolera Administrator (130)
- 7.15. Dodanie widoków dla kontrolera Administrator (132)
- 7.16. Instalacja aplikacji na serwerze WWW (136)
- 7.17. Podsumowanie (137)
Rozdział 8. Studium przypadku: serwis Portal Usług (139)
- 8.1. Biznesowa wizja systemu (139)
- 8.2. Projektowa wizja systemu (140)
- 8.3. Projekt aplikacji (142)
- 8.3.1. Projektowanie modelu (142)
- 8.3.2. Projektowanie kontrolerów (145)
- 8.4. Przygotowywanie projektu (146)
- 8.5. Przygotowywanie bazy danych (146)
- 8.6. Przygotowywanie modelu (147)
- 8.7. Przygotowywanie repozytorium (156)
- 8.8. Rejestrowanie użytkowników (169)
- 8.8.1. Zmiana kontrolera Account (171)
- 8.8.2. Zmiana widoków kontrolera Account (182)
- 8.8.3. Dodanie komponentu CAPTCHA (189)
- 8.8.4. Implementacja mechanizmu komunikatów (193)
- 8.9. Funkcjonalność dodawania i edycji kategorii usług i kategorii komentarzy (194)
- 8.9.1. Dodawanie i edycja kategorii usług (194)
- 8.9.2. Dodawanie i edycja kategorii komentarzy (201)
- 8.10. Funkcjonalność wysyłania newslettera (204)
- 8.11. Utworzenie użytkownika Administrator (208)
- 8.12. Implementacja menu (209)
- 8.13. Funkcjonalność usługobiorcy (214)
- 8.13.1. Lista usługobiorców (216)
- 8.13.2. Edycja usługobiorców (225)
- 8.13.3. Usuwanie usługobiorców (229)
- 8.14. Funkcjonalność usługodawcy (232)
- 8.14.1. Lista usługodawców (235)
- 8.14.2. Edycja usługodawców (239)
- 8.14.3. Usuwanie usługodawców (242)
- 8.15. Funkcjonalność usług i komentarzy (245)
- 8.15.1. Dodawanie usług (246)
- 8.15.2. Lista usług (251)
- 8.15.3. Edycja usług (260)
- 8.15.4. Usuwanie usług (264)
- 8.15.5. Szczegóły usług (267)
- 8.15.6. Dodawanie komentarzy (275)
- 8.15.7. Edycja i usuwanie komentarzy (279)
- 8.16. Szczegóły usługodawców (282)
- 8.17. Modyfikacja strony głównej (289)
- 8.18. Implementacja widoków mobilnych (291)
- 8.18.1. Dostosowanie strony wzorcowej (292)
- 8.18.2. Widoki mobilne dla usług (294)
- 8.18.3. Widoki mobilne dla wysyłania newslettera (296)
- 8.19. Instalacja aplikacji na serwerze WWW (297)
- 8.20. Podsumowanie (298)
Rozdział 9. Studium przypadku: serwis Moje Zdjęcia w Windows Azure (301)
- 9.1. Biznesowa wizja systemu (302)
- 9.2. Projektowa wizja systemu (302)
- 9.3. Moje Zdjęcia - wersja lokalna (304)
- 9.3.1. Tworzenie projektu (304)
- 9.3.2. Dodanie modelu (306)
- 9.3.3. Wygenerowanie kontrolera i widoków (308)
- 9.3.4. Modyfikacja kontrolera (309)
- 9.3.5. Modyfikacje widoków (320)
- 9.3.6. Dodanie metody-akcji i widoku Wyszukaj (328)
- 9.3.7. Dodanie mechanizmu autouzupełniania (332)
- 9.3.8. Pliki konfiguracyjne Windows Azure (335)
- 9.4. Moje Zdjęcia - wersja w chmurze (337)
- 9.4.1. Zakładanie subskrypcji Windows Azure (337)
- 9.4.2. Zakładanie usług Cloud Service, Azure Storage i bazy SQL (340)
- 9.4.3. Pobranie poświadczeń do bazy SQL i Azure Storage (342)
- 9.4.4. Modyfikacja plików konfiguracyjnych (343)
- 9.4.5. Wdrożenie serwisu do chmury (344)
- 9.5. Podsumowanie (346)
Rozdział 10. Studium przypadku: serwis Planner (349)
- 10.1. Własności ASP.NET Web API (349)
- 10.2. Tworzenie projektu ASP.NET Web API (351)
- 10.2.1. Biznesowa wizja systemu (351)
- 10.2.2. Przygotowanie projektu (351)
- 10.2.3. Struktura projektu ASP.NET Web API (353)
- 10.2.4. Implementacja modelu Task i bazy danych (355)
- 10.2.5. Implementacja repozytorium (357)
- 10.2.6. Implementacja kontrolera Tasks (359)
- 10.2.7. Testowanie akcji kontrolera Tasks (362)
- 10.2.8. Implementacja interfejsu użytkownika (366)
- 10.3. Instalacja aplikacji na serwerze WWW (377)
- 10.4. Podsumowanie (378)
Rozdział 11. Podsumowanie (379)
Dodatek A. Bibliografia (381)
- Książki (381)
- Zasoby internetowe (381)
Skorowidz (383)
392 strony, Format: 16.0x23.5cm, oprawa miękka