Facebook - konwersja
Czytaj fragment
Pobierz fragment

Język C# 6.0 i platforma .NET 4.6 - ebook

Data wydania:
1 stycznia 2018
Format ebooka:
EPUB
Format EPUB
czytaj
na czytniku
czytaj
na tablecie
czytaj
na smartfonie
Jeden z najpopularniejszych formatów e-booków na świecie. Niezwykle wygodny i przyjazny czytelnikom - w przeciwieństwie do formatu PDF umożliwia skalowanie czcionki, dzięki czemu możliwe jest dopasowanie jej wielkości do kroju i rozmiarów ekranu. Więcej informacji znajdziesz w dziale Pomoc.
czytaj
na tablecie
Aby odczytywać e-booki na swoim tablecie musisz zainstalować specjalną aplikację. W zależności od formatu e-booka oraz systemu operacyjnego, który jest zainstalowany na Twoim urządzeniu może to być np. Bluefire dla EPUBa lub aplikacja Kindle dla formatu MOBI.
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
czytaj
na czytniku
Czytanie na e-czytniku z ekranem e-ink jest bardzo wygodne i nie męczy wzroku. Pliki przystosowane do odczytywania na czytnikach to przede wszystkim EPUB (ten format możesz odczytać m.in. na czytnikach PocketBook) i MOBI (ten fromat możesz odczytać m.in. na czytnikach Kindle).
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
czytaj
na smartfonie
Aby odczytywać e-booki na swoim smartfonie musisz zainstalować specjalną aplikację. W zależności od formatu e-booka oraz systemu operacyjnego, który jest zainstalowany na Twoim urządzeniu może to być np. iBooks dla EPUBa lub aplikacja Kindle dla formatu MOBI.
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
Czytaj fragment
Pobierz fragment
Produkt niedostępny.  Może zainteresuje Cię

Język C# 6.0 i platforma .NET 4.6 - ebook

Materiał do nowego, siódmego wydania książki, został całkowicie poprawiony i napisany tak, aby uwzględnić ostatnie zmiany w specyfikacji języka C#, a także nowości na platformie .NET.
W książce tej znajdziesz omówienie wszystkich nowych funkcji, które sprawiają, że .NET 4.6 jest obecnie wersją najbardziej kompletną.

Celem książki jest udostępnienie czytelnikowi kompleksowego, dogłębnego omówienia podstaw języka programowania C# oraz kluczowych aspektów platformy .NET, jak również przeglądu technologii opartych na C# i .NET (ADO.NET i Entity Framework, WCF [Windows Communication Foundation], WPF [Windows Presentation Foundation] i ASP.NET [WebForms, MVC, WebAPI]).

Kategoria: Programowanie
Zabezpieczenie: Watermark
Watermark
Watermarkowanie polega na znakowaniu plików wewnątrz treści, dzięki czemu możliwe jest rozpoznanie unikatowej licencji transakcyjnej Użytkownika. E-książki zabezpieczone watermarkiem można odczytywać na wszystkich urządzeniach odtwarzających wybrany format (czytniki, tablety, smartfony). Nie ma również ograniczeń liczby licencji oraz istnieje możliwość swobodnego przenoszenia plików między urządzeniami. Pliki z watermarkiem są kompatybilne z popularnymi programami do odczytywania ebooków, jak np. Calibre oraz aplikacjami na urządzenia mobilne na takie platformy jak iOS oraz Android.
ISBN: 978-83-01-19832-9
Rozmiar pliku: 25 MB

FRAGMENT KSIĄŻKI

O recenzencie technicznym

Andy Olsen to pracujący na własny rachunek programista i szkoleniowiec, osiadły w Swansea w Wielkiej Brytanii. Używa platformy .NET od pierwszego wydania i zna wszystkie jej wersje aż do .NET 4.6 włącznie oraz wydanie beta ASP.NET 5. Spędza dużo czasu na pracy zarówno z nowymi, jak i dojrzałymi technologiami i platformami sieciowymi, takimi jak Angular, Ember, Bootstrap i Node.

Po pracy Andy lubi biegać, jeździć na nartach i oglądać football (kiedyś sam grał). Możesz się z nim skontaktować, pisząc na adres [email protected]ękowania

Andrew Troelsen: Jak zawsze chciałbym szczerze z serca podziękować całemu zespołowi Apress. Mam szczęście współpracować z tym wydawnictwem nad wieloma tytułami już od 2001 roku. Oprócz wydawania wysokiej jakości materiałów technicznych, personel jest doskonały, a bez nich książka ta by nie mogła powstać. Dziękuję wszystkim!

Chcę również podziękować mojemu (nowemu) współautorowi Philipowi Japikse’owi. Dzięki Phil, za ciężką pracę, którą włożyłeś w to, aby dodając własną wiedzę i spostrzeżenia, zachować przystępny charakter tej książki. Wierzę, że nasza książka (i ci, którzy ją czytają) skorzystają z tego nowego partnerstwa!

Nie mniejsze podziękowania należą się mojej żonie, Mandy, i mojemu synowi, Sorenowi, za wsparcie w trakcie ostatnich pisarskich projektów: dziękuję wam. Kocham was mocno.

Philip Japikse: Ja również chcę podziękować wydawnictwu Apress i całemu zespołowi zaangażowanemu w napisanie tej książki. To już moja druga książka w Apress i jestem pod wielkim wrażeniem poświęcenia i wsparcia, jakie otrzymaliśmy w trakcie pisania. Chcę również podziękować Andrew za zaproszenie mnie do pracy przy tym projekcie. Od samego początku książka ta była nieodłącznym elementem mojej kariery związanej z platformą .NET; mam na półce każde jej wydanie! Jestem dumny z tej pracy i współpracy wiążącej się z przygotowaniem obecnego wydania. Chcę też podziękować tobie, czytelniku, za przeczytanie tej książki, żywiąc nadzieję, że okaże ci się równie przydatna w karierze co mi. Poza tym nie dałbym rady tego zrobić bez mojej rodziny i wsparcia od niej. Bez czasu, który poświęciliście na przeczytanie i korektę mojej pracy, nie dałbym rady! Kocham was wszystkich!Wprowadzenie

Pierwsze wydanie tej książki pojawiło się w roku 2001, w tym samym czasie, gdy Microsoft wydał wersję Beta 2 platformy .NET 1.0. Praca nad tym pierwszym wydaniem była z pewnością wyzwaniem, ponieważ w czasie pisania API i sam język C# ciągle się zmieniały. Już wtedy, z punktu widzenia programisty, całością platformy .NET można było całkiem sprawnie zarządzać. Jedyną opcją do tworzenia okienkowych aplikacji z GUI był API Windows Forms, ASP.NET skupiało się wyłącznie na modelu programowania formularzy sieciowych, a język C# był efektywnym narzędziem do programowania obiektowego.

Przez sześć pierwszych wydań tego tekstu byłem jedyną osobą odpowiedzialną za aktualizowanie materiału, aby uwzględniać liczne zmiany w języku C# i nowe API na platformie .NET. W ciągu tych 14 lat książka była aktualizowana; pojawiło się w niej omówienie modelu programowania LINQ (Language Integrated Query), WPF (Windows Presentation Foundation), WCF (Windows Communication Foundation), nowych modeli wątków i słów kluczowych, nowych narzędzi programistycznych i zmian na platformie programowania dla sieci (między innymi).

Począwszy od tego, siódmego wydania, stało się dla mnie jasne, że samodzielne zaktualizowanie książki trwałoby bardzo długo. Oczywiście mam już więcej zajęć niż w roku 2001 (czy nawet 2011; podejrzewam, że może mieć to coś wspólnego z ojcostwem, a może prowadzę za dużo zajęć… hmm).

W każdym razie, gdy Apress zwrócił się do mnie o przygotowanie książki z uwzględnieniem ostatniego wydania platformy .NET, rozważaliśmy kilka różnych możliwości, aby materiał był gotowy w rozsądnym terminie. W końcu uzgodniliśmy, że być może nadeszła pora, aby część tekstu oddać w kompetentne, pomocne ręce. Wydawnictwo zasugerowało mi kontakt z Philipem Japikse’em. Po kilku rozmowach telefonicznych, wymianie maili i dłuższym namyśle, z radością zaprosiłem go do pracy nad tym projektem. Teraz z radością ogłaszam, że i>C# 6.0 i platforma .NET 4.6 to owoc wspólnego wysiłku mojego i współautora, Philipa Japikse’a. Oddaję głos Philipowi…

Andrew Troelsen

Twoja kolej, Philip!

Gdy Microsoft wydawał pierwsze wersje beta platformy .NET, byłem już mocno przywiązany do technologii Microsoftu. Kilka innych technologii zamieniłem na Visual Basic, tworząc zarówo aplikacje klienckie, jak i klasyczne internetowe witryny ASP za pomocą VB i MTS. Jak na tamte czasy były to dobre narzędzia, ale ich kres był widoczny. Testowałem inne zestawy technologiczne i tak właśnie dotarłem do pierwszego wydania tej książki. Przeczytałem ją od deski do deski; nie tylko rozbudziła we mnie nadzieje związane z platformą .NET, ale zajęła ważne miejsce w mojej zawodowej bibliotece. Posiadanie jednej książki, która wyczerpująco omawia język C# i cały ekosystem .NET, jest nie do przecenienia. Nie umiem powiedzieć, ile egzemplarzy tej książki sprzedałem przez te lata, ale swoim klientom i słuchaczom każde wydanie polecałem jako pierwszą książkę do kupienia na ten temat. Niezależnie od tego, czy dopiero stawiasz pierwsze kroki na platformie .NET, czy też chcesz dowiedzieć się o nowościach w ostatniej wersji, nie znajdziesz lepszej książki.

Dla wydawnictwa Apress napisałem już jedną książkę na temat Windows 8.1 i C#, więc znałem personel i byłem pod wrażeniem tego, w jaki sposób firma prowadzi działalność i wspiera autorów. Gdy mój redaktor skontaktował się ze mną z pytaniem, czy chcę współpracować nad siódmym wydaniem „książki Troelsena” (tak ją zawsze nazywałem), czułem się podekscytowany i zaszczycony. Wykonałem tę pracę z pasją i nie znajduję słów, aby wyrazić swój entuzjazm i zachwyt, że jestem częścią tej książki. Mam nadzieję, że satysfakcja z jej przeczytania dorówna mojej radości z pisania i współpracy z Andrew oraz całą niesamowitą załogą Apress.

Philip Japikse

Jesteśmy zespołem, którego częścią jesteś ty

Autorzy dzieł technicznych piszą dla bardzo wymagającej (i bardzo dobrze) grupy odbiorców. Wiesz, że tworzenie oprogramowania z wykorzystaniem dowolnej platformy i w jakimkolwiek języku jest bardzo skomplikowane i ściśle związane z wymaganiami danej organizacji, firmy, klientów czy też tematyki. Może pracujesz w cyfrowym wydawnictwie, opracowujesz systemy dla władz państwowych lub samorządów, może zarabiasz w NASA albo w wojskowości. My mamy doświadczenie w różnych dziedzinach, na przykład w tworzeniu programów edukacyjnych dla najmłodszych (Oregon Trail/Amazon Trail), projektowaniu różnych systemów dla przedsiębiorstw i rozwiązań dla branży medycznej oraz finansowej. Prawdopodobieństwo, że kod, który piszesz w swojej pracy, ma niewiele wspólnego z kodem, który my napisaliśmy w tym czasie, jest bliskie 100 procent.

Z tego powodu w książce celowo unikamy przedstawiania przykładowego kodu, który byłby ściśle związany z konkretną branżą lub gałęzią programowania i wyjaśniamy język C#, programowanie obiektowe, środowisko CLR i biblioteki klas bazowych .NET na przykładach niezwiązanych z żadną konkretną dziedziną. Zamiast w każdym przykładzie wypełniać siatkę danymi, obliczać wynagrodzenia itd., trzymamy się tematu, który każdemu z nas jest bliski: samochodów (a na dokładkę dorzuciliśmy kilka struktur geometrycznych i systemów wynagradzania pracowników). I tutaj właśnie wchodzisz ty.

Nasze zadanie polega na wyjaśnieniu języka programowania C# i najważniejszych aspektów platformy .NET najlepiej jak potrafimy. Poza tym zrobimy, co w naszej mocy, aby przekazać ci do rąk narzędzia i strategie potrzebne do kontynuowania nauki po przeczytaniu tej książki.

Twoim zadaniem jest przyswojenie tej wiedzy i zastosowanie jej w swoich konkretnych zleceniach programistycznych. Oczywiście zdajemy sobie sprawę, że w twoich projektach prawdopodobnie nie ma aut o przyjaznych nazwach (jak BMW Zippy czy Yugo Clunker), ale na tym właśnie polega praktyczna wiedza!

Zapewniam, że zrozumienie przedstawionych w tym tekście zagadnień i pojęć to świetny punkt wyjścia do tworzenia rozwiązań .NET pasujących do twojego własnego, niepowtarzalnego środowiska programistycznego.

Przegląd książki

Książka C# 6.0 i platforma .NET 4.6 została podzielona na osiem logicznych części, a każda z nich zawiera kilka związanych ze sobą rozdziałów. Poniżej krótkie omówienie każdej części i każdego rozdziału.

Część 1. Wprowadzenie do C# i platformy .NET

Celem części I jest oswojenie z platformą .NET i różnymi narzędziami programistycznymi (w tym wieloplatformowymi IDE) używanymi w trakcie tworzenia aplikacji .NET.

Rozdział 1. Filozofia .NET

Pierwszy rozdział to szkielet, na którym opiera się jest reszta tekstu. Głównym celem tego rozdziału jest zapoznanie cię z wieloma podstawowymi elementami platformy .NET, jak wspólne środowisko uruchomieniowe (CLR), wspólny system typów (CTS), wspólna specyfikacja języka (CLS) i biblioteki klas bazowych. W rozdziale tym po raz pierwszy spotkasz się z językiem programowania C# i formatem pakietów .NET. Zakończymy omówieniem niezależności technologii .NET od platformy systemowej.

Rozdział 2. Tworzenie aplikacji w języku C#

Celem tego rozdziału jest wprowadzenie do procesu kompilowania plików z kodem źródłowym C# za pomocą różnych narzędzi i technik. Dowiesz się tutaj o roli narzędzi programistyczych z rodziny Microsoft Express i całkowicie bezpłatnym (a zarazem w pełni funcjonalnym) środowisku Visual Studio Community Edition, na którym bazuje ten materiał. Wspomnimy również o IDE Xamarin, które pozwala tworzyć aplikacje .NET w systemach operacyjnych Linux i Mac OS X. Dowiesz się też, jak zainstalować na swoim komputerze (używanym do programowania) bardzo ważną dokumentację .NET 4.6 Framework SDK.

Część 2. Podstawy programowania w języku C#

Zagadnienia omówione w tej części książki są dość ważne, ponieważ będą ci potrzebne niezależnie od tego, jakiego rodzaju oprogramowanie .NET chcesz tworzyć (np. aplikacje internetowe, okienkowe aplikacje z GUI, biblioteki kodu, usługi Windows). Poznasz tu podstawowe typy danych .NET, nauczysz się wykonywać operacje na tekście i dowiesz się o różnych modyfikatorach .NET (w tym o argumentach opcjonalnych i nazwanych).

Rozdział 3. Podstawowe konstrukcje programistyczne języka C#, część I

Od tego rozdziału zaczyna się formalne omówienie języka programowania C#. Dowiesz się tutaj o roli metody Main() i wielu szczegółach dotyczących wewnętrznych typów danych na platformie .NET, w tym operacjach na danych tekstowych za pomocą System.String i System.Text.StringBuilder. Poznasz również konstrukcje iteracyjne i decyzyjne, operacje zwężające i poszerzające oraz słowo kluczowe unchecked.

Rozdział 4. Podstawowe konstrukcje programistyczne języka C#, część II

W tym rozdziale zakończymy omawianie najważniejszych aspektów języka C#, przedstawiając konstrukcje przeciążonych metod i definiowanie parametrów za pomocą słów kluczowych out, ref i params. Omawiane również są dwie funkcje języka C#, a mianowicie argumenty i parametry opcjonalne. Dowiesz się również, jak tworzyć tablice danych i wykonywać na nich operacje, definiować typy danych dopuszczające wartości null (za pomocą operatorów ? i ??), a także poznasz różnicę między typami wartościowymi (w tym wyliczeniami i strukturami niestandardowymi) a typami referencyjnymi.

Część 3. Programowanie obiektowe w języku C#

W tej części zapoznasz się z najważniejszymi konstrukcjami składniowymi języka C#, w tym ze szczegółami programowania obiektowego. Dowiesz się również, jak przetwarzać wyjątki w czasie wykonywania programu i zagłębisz się w szczegóły używania interfejsów z silną typizacją.

Rozdział 5. Hermetyzacja

W tym rozdziale zaczniesz poznawanie programowania obiektowego (OOP) w języku C#. Po wprowadzeniu do filarów programowania obiektowego (hermetyzacja, dziedziczenie i polimorfizm) w pozostałej części rozdziału dowiesz się, jak tworzyć solidne klasy za pomocą konstruktorów, właściwości, składowych statycznych, stałych i pól tylko do odczytu. Zakończymy omówieniem definicji typów częściowych, składni inicjalizacji obiektów i właściwości automatycznych.

Rozdział 6. Dziedziczenie i polimorfizm

Tutaj omówimy pozostałe filary programowania obiektowego (dziedziczenie i polimorfizm), pozwalające tworzyć rodziny pokrewnych typów. Następnie poznasz rolę metod wirtualnych, metod abstrakcyjnych (i abstrakcyjnych klas bazowych), a także interfejs polimorficzny. Na zakończenie tego rozdziału przedstawimy nie mniej ważną klasę bazową najwyższego poziomu na platformie .NET, czyli System.Object.

Rozdział 7. Strukturalna obsługa wyjątków

Celem tego rozdziału jest wyjaśnienie, jak w bazie kodu, używając strukturalnej obsługi wyjątków, radzić sobie z anomaliami występującymi w czasie działania programu. Nie tylko poznasz słowa kluczowe C#, które pozwalają rozwiązywać problemy tego typu (try, catch, throw, when i finally), ale też zrozumiesz różnicę między wyjątkami aplikacji i na poziomie systemu. Oprócz tego w tym rozdziale znajdziesz omówienie różnych narzędzi Visual Studio służących do debugowania wyjątków, które umkną twojej uwadze.

Rozdział 8. Interfejsy

Materiał w tym rozdziale wzbogaci twoją wiedzę o programowaniu obiektowym o zagadnienia związane z programowaniem z wykorzystaniem interfejsów. Dowiesz się, jak definiować klasy i struktury, które obsługują wiele działań/zachowań, jak je wykrywać w czasie działania programu i jak wybiórczo ukrywać poszczególne działania za pomocą jawnej implementacji interfejsu. Utworzysz kilka niestadardowych interfejsów, nauczysz się również implementować standardowe interfejsy, które znajdziesz na platformie .NET. Użyjesz ich do utworzenia obiektów, które można sortować, kopiować, wyliczać i porównywać.

Część 4. Zaawansowane programowanie w języku C#

W tej części książki, która traktuje o kilku bardziej zaawansowanych (ale ważnych) zagadnieniach, pogłębisz swoją wiedzę na temat języka C#. Przedstawianie systemu typów .NET zakończymy omawianiem interfejsów i delegatów. Poznasz również rolę elementów generycznych, po raz pierwszy spotkasz się z LINQ i zbadasz kilka bardziej zaawansowanych funkcji języka C# (np. metody rozszerzające, metody częściowe i używanie wskaźników).

Rozdział 9. Kolekcje i typy generyczne

W tym rozdziale omawiamy typy generyczne. Jak zobaczysz, programowanie generyczne pozwala tworzyć typy i składowe zawierające wypełniacze, które mogą zostać podane przez procedurę wywołującą. Krótko mówiąc, typy generyczne znacznie podnoszą wydajność aplikacji i bezpieczeństwo typów. Poza przeanalizowaniem różnych typów generycznych z przestrzeni nazw System.Collections.Generic, dowiesz się również, jak tworzyć własne generyczne metody i typy (z ograniczeniami i bez).

Rozdział 10. Delegaty, zdarzenia i wyrażenia lambda

Celem rozdziału 10 jest odczarowanie delegatów. Mówiąc najprościej, delegat .NET to obiekt, który wskazuje na inne metody w aplikacji. Używając tego typu, możesz tworzyć systemy, które umożliwiają wielu obiektom uczestniczenie w konwersacji dwukierunkowej. Po delegatach .NET poznasz słowo kluczowe C# event, za pomocą którego możesz uprościć wykonywanie operacji bezpośrednio na delegatach. Rozdział zakończymy omówieniem roli operatora lambda (=>) i związku między delegatami, metodami anonimowymi i wyrażeniami lambda.

Rozdział 11. Zaawansowane elementy języka C#

W tym rozdziale wzbogacisz swoją wiedzę na temat języka programowania C#, poznając kilka zaawansowanych technik programistycznych. Dowiesz się, jak przeciążać operatory i tworzyć niestandardowe procedury konwersji (zarówno niejawne, jak i jawne) dla swoich typów. Nauczysz się również tworzyć i używać indekserów, a także używać metod rozszerzających, typów anonimowych, metod częściowych i wskaźników C# z wykorzystaniem nienadzorowanego kontekstu kodu.

Rozdział 12. LINQ to Objects

W tym rozdziale zaczniesz poznawać LINQ (Language Integrated Query). LINQ umożliwia tworzenie wyrażeń z zapytaniami z silną typizacją, które można stosować względem wielu celów LINQ, aby operować na danych w najszerszym tego słowa znaczeniu. Poznasz LINQ to Objects, który pozwala stosować wyrażenia LINQ względem kontenerów danych (np. tablic, kolekcji i typów niestandardowych). Informacje te przydadzą się się w dalszej części książki, gdzie spotkasz wiele dodatkowych API LINQ (p. LINQ to XML, LINQ to DataSet, PLINQ i LINQ to Entities).

Rozdział 13. Czas życia obiektu

W ostatnim rozdziale tej części wyjaśnimy, w jaki sposób środowisko CLR zarządza pamięcią za pomocą mechanizmu odśmiecania. Dowiesz się tutaj o roli korzeni aplikacji, generacjach obiektów i typie System.GC. Gdy już zrozumiesz podstawy, przejdziemy do zagadnienia obiektów usuwalnych (z wykorzystaniem interfejsu IDisposable) i procesu finalizacji (z wykorzystaniem metody System.Object.Finalize( )). W rozdziale tym zbadamy również klasę Lazy, która służy do definiowania danych, które nie będą alokowane do czasu, aż zażąda tego wywołujący. Jak się przekonasz, funkcja ta może przydać się do zagwarantowania, że nie zagracasz sterty obiektami, które tak naprawdę nie są wymagane przez programy.

Część 5. Programowanie z wykorzystaniem pakietów .NET

W części 5 zajmiemy się szczegółowo formatem pakietu .NET. Dowiesz się nie tylko, jak wdrażać i konfigurować biblioteki z kodem .NET, ale też zrozumiesz wewnętrzną budowę binarnego obrazu .NET. W tej części wyjaśnimy również rolę atrybutów .NET i wykrywania informacji o typie w trakcie działania programu. Poza tym omówimy rolę środowiska DLR (Dynamic Language Runtime) i słowa kluczowego dynamic. W ostatnich rozdziałach tej części przedstawimy kilka bardziej zaawansowanych tematów związanych z pakietami, w tym domeny aplikacji, składnię języka CIL i tworzenie pakietów znajdujących się w pamięci.

Rozdział 14. Tworzenie i konfiguracja bibliotek klas

Ogólnie rzecz biorąc, pakiet to określenie binarnego pliku *.dll lub *.exe utworzonego za pomocą kompilatora .NET. Jednak prawdziwa historia pakietów .NET jest znacznie bogatsza. W tym rozdziale poznasz różnicę między pakietami jedno- i wieloplikowymi, a także nauczysz się tworzyć i wdrażać jedne i drugie. Dowiesz się również, jak konfigurować pakiety prywatne i współdzielone za pomocą plików XML *.config i pakietów z zasadami wydawcy. Przy okazji omówimy wewnętrzną strukturę globalnego katalogu pakietów (GAC).

Rozdział 15. Refleksja typów, późne wiązanie i programowanie z wykorzystaniem atrybutów

W rozdziale 15 kontynuujemy omawianie pakietów .NET, analizując proces wykrywania typów w trakcie wykonywania programu za pomocą przestrzeni nazw System.Reflection. Używając typów z tej przestrzeni nazw, możesz tworzyć aplikacje, które potrafią w locie odczytywać metadane pakietu. Dowiesz się również, jak dynamicznie, w trakcie działania programu, tworzyć typy za pomocą późnego dowiązywania. Ostatnim zagadnieniem tego rozdziału jest rola atrybutów .NET (zarówno standardowych, jak i niestandardowych). Ilustracją przydatności każdej z tych technik będzie napisanie rozszerzalnej aplikacji Windows Forms.

Rozdział 16. Typy dynamiczne i środowisko DLR

W wersji .NET 4.0 wprowadzono nowy element środowiska uruchomieniowego .NET o nazwie dynamiczne środowisko uruchomieniowe (DLR). Używając DLR i dostępnego od wersji C# 2010 słowa kluczowego dynamic, możesz definiować dane, które tak naprawdę są poznawane dopiero w czasie wykonywania programu. Można w ten sposób znacznie uprościć sobie niektóre złożone programistyczne zadania .NET. W tym rozdziale poznasz kilka praktycznych zastosowań danych dynamicznych, w tym wykorzystywanie API refleksji .NET w uproszczony sposób, a także używanie przestarzałych bibliotek COM niewielkim nakładem pracy.

Rozdział 17. Procesy, domeny aplikacji i konteksty obiektów

Znasz już bardzo dobrze pakiety, a w tym rozdziale poznasz dokładniej budowę wczytanego do pamięci pliku wykonywalnego .NET. Celem tego rozdziału jest przedstawienie relacji między procesami, domenami aplikacji i granicami kontekstów. Zagadnienia te to podstawa rozdziału 19, w którym poznasz budowę aplikacji wielowątkowych.

Rozdział 18. CIL i rola pakietów dynamicznych

Cel ostatniego rozdziału tej części jest dwojaki. Mniej więcej pierwsza połowa jest poświęcona składni i semantyce języka CIL, znacznie bardziej szczegółowo niż w poprzednich rozdziałach. W pozostałej części rozdziału omówimy przestrzeń nazw System.Reflection.Emit. Używając tych typów, możesz tworzyć oprogramowanie, które potrafi generować pakiety .NET w pamięci w czasie wykonywania programu. Z formalnego punktu widzenia pakiety zdefiniowane i wykonywane w pamięci są nazywane pakietami dynamicznymi.

Część 6. Wprowadzenie do bibliotek klas bazowych .NET

Na tym etapie nauki masz już solidnie opanowany język C# i szczegóły formatu pakietu .NET. W części VI wykorzystasz tę właśnie nabytą wiedzę do poznania kilku często używanych usług, które znajdują się w bibliotekach klas bazowych; są to m.in. tworzenie aplikacji wielowątkowych, plikowe operacje we/wy i dostęp do baz danych za pomocą ADO.NET. W części tej omówimy również tworzenie aplikacji rozproszonych za pomocą Windows Communication Foundation i API LINQ to XML.

Rozdział 19. Programowanie wielowątkowe, równoległe i asynchroniczne

W rozdziale tym wyjaśnimy, jak tworzyć aplikacje wielowątkowe i przedstawimy kilka technik, które możesz wykorzystać do tworzenia kodu zachowującego bezpieczeństwo wątków. Rozdział zaczniemy od powtórki z delegatów .NET i wyjaśnienia wbudowanej obsługi asynchronicznego wywoływania metod. Następnie poznasz typy znajdujące się w przestrzeni nazw System.Threading. Pozostała część rozdziału jest poświęcona bibliotece TPL (Task Parallel Library). Używając TPL, programiści .NET mogą tworzyć aplikacje, które w niesłychanie prosty sposób rozkładają swoją pracę na wszystkie dostępne procesory. Poznasz również rolę Parallel LINQ, czyli sposobu na tworzenie zapytań LINQ, które można skalować na wiele rdzeni. Zakończymy omówieniem różnych słów kluczowych C#, które umożliwiają zintegrowanie asynchronicznego wywołania metod bezpośrednio z językiem.

Rozdział 20. Plikowe operacje we/wy oraz serializacja obiektów

Przestrzeń nazw System.IO umożliwia komunikację ze strukturą plików i katalogów komputera. W rozdziale tym dowiesz się, jak programistycznie tworzyć (i niszczyć) system katalogów. Nauczysz się również przenosić dane do i z różnych strumieni (np. plikowych, łańcuchowych i pamięciowych). W ostatniej części tego rozdziału omówimy usługi serializacji obiektów na platformie .NET. Krótko mówiąc, serializacja pozwala utrwalić stan obiektu (lub zbioru związanych ze sobą obiektów) w strumieniu, aby można go było później użyć. Deserializacja (jak się domyślasz) to proces polegający na wyłuskiwaniu obiektu ze strumienia do pamięci, aby mógł być używany przez aplikację. Po zrozumieniu podstaw nauczysz się dostosowywać proces serializacji za pomocą interfejsu ISerializable i zbioru atrybutów .NET.

Rozdział 21. ADO.NET część I: Warstwa połączeniowa

W tym pierwszym z trzech rozdziałów poświęconych bazom danych po raz pierwszy zetkniesz się z API dostępu do baz danych na platformie .NET, czyli ADO.NET. W szczególności rozdział ten jest wprowadzeniem do roli dostawców danych .NET i komunikowania się z relacyjną bazą danych za pomocą połączeniowej warstwy ADO.NET, która jest reprezentowana przez obiekty połączenia, obiekty polecenia, obiekty transakcji i obiekty czytnika danych. Warto dodać, że w rozdziale tym utworzysz również niestandardową bazę danych i pierwszą wersję niestandardowej biblioteki dostępu do danych (AutoLotDAL.dll).

Rozdział 22. ADO.NET część II: Warstwa bezpołączeniowa

W tym rozdziale będziesz kontynuować naukę używania baz danych, poznając bezpołączeniową warstwę ADO.NET. Dowiesz się o roli typu Dataset i obiektach adaptera danych, a także wielu narzędziach Visual Studio 2010, które mogą istotnie uprościć tworzenie aplikacji bazodanowych. Przy okazji nauczysz się dowiązywać obiekty DataTable do elementów interfejsu użytkownika, a także stosować zapytania LINQ względem znajdujących się w pamięci obiektów DataSet, używając LINQ to DataSet.

Rozdział 23. ADO.NET część III: Entity Framework

W tym rozdziale zakończymy poznawanie ADO.NET, omawiając rolę Entity Framework (EF). EF to przede wszystkim sposób tworzenia kodu dostępu do danych za pomocą klas z silną typizacją, które są bezpośrednim odwzorowaniem modelu biznesowego. Poznasz tu rolę DbContext, używania adnotacji danych do kształtowania bazy danych i implementowania repozytoriów w celu hermetyzacji wspólnego kodu, obsługi transakcji, migracji, współbieżności oraz przechwytywania. Jednocześnie dowiesz się, jak komunikować się z relacyjnymi bazami danych za pomocą LINQ to Entities. Poza tym utworzysz ostateczną wersję niestandardowej biblioteki dostępu do bazy danych (AutoLotDAL.dll), której użyjesz w kilku kolejnych rozdziałach tej książki.

Rozdział 24. Wprowadzenie do LINQ to XML

Rozdział 12 był wprowadzeniem do serca modelu programowania LINQ, a konkretnie do LINQ to Objects. W tym rozdziale dokładniej poznasz LINQ, ucząc się stosować zapytania LINQ do dokumentów XML. Na początku dowiesz się o „wadach”, które występowały w pierwszym podejściu platformy .NET do używania XML na przykładzie typów z pakietu System.Xml.dll. Po tej krótkiej lekcji historii dowiesz się, jak tworzyć dokumenty XML w pamięci, jak utrwalać je na dysku twardym i jak nawigować po ich zawartości za pomocą modelu programowania LINQ (LINQ to XML).

Rozdział 25. Wprowadzenie do WCF (Windows Communication Foundation)

Aż do tego miejsca książki wszystkie przykładowe aplikacje będziesz wykonywać na jednym komputerze. W tym rozdziale poznasz API WCF (Windows Communication Foundation), które pozwala tworzyć aplikacje w sposób symetryczny, niezależnie od ich bazowej infrastruktury. Rozdział ten przybliży budowę usług, hostów i klientów WCF. Jak się przekonasz, usługi WCF są maksymalnie elastyczne, ponieważ pozwalają klientom i hostom deklaratywnie podawać adresy, dowiązania i kontrakty w plikach konfiguracyjnych XML.

Część 7. Windows Presentation Foundation

Pierwszy API do tworzenia okienkowych aplikacji z GUI na platformie .NET nosił nazwę Windows Forms. Jest on w dalszym ciągu w pełni obsługiwany na platformie, ale w wersji .NET 3.0 udostępniono programistom niesamowity API o nazwie WPF (Windows Presentation Foundation). Szybko zajął on miejsce Windows Forms jako model programowania aplikacji stacjonarnych. Przede wszystkim WPF pozwala za pomocą deklaratywnej gramatyki o nazwie XAML tworzyć aplikacje okienkowe zawierające grafikę wektorową i interaktywne animacje oraz dowiązywać dane. Co więcej, architektura kontrolek WPF to prosty sposób na to, aby kompletnie zmienić wygląd typowej kontrolki, używając prawie wyłącznie prawidłowego znakowania XAML.

Rozdział 26. Wprowadzenie do WPF (Windows Presentation Foundation) i XAML

WPF pozwala przede wszystkim tworzyć bardzo responsywne i medialne nakładki na aplikacje okienkowe (a pośrednio też aplikacje internetowe). W przeciwieństwie do Windows Forms na tej podrasowanej platformie do interfejsów użytkownika wiele kluczowych usług (np. grafikę 2D i 3D, animacje i bogate dokumenty) zintegrowano w jeden, jednolity model obiektowy. W rozdziale tym zaczniesz poznawać WPF i XAML (Extendable Application Markup Language). Nauczysz się pisać programy WPF bez XAML, a także wyłącznie w XAML, a także łącząc obie te opcje. Rozdział zakończymy napisaniem niestandardowego edytora XAML, którego będziesz używać w pozostałych rozdziałach poświęconych WPF.

Rozdział 27. Programowanie z wykorzystaniem kontrolek WPF

W tym rozdziale zaznajomisz się z procesem używania wbudowanych kontrolek WPF i menedżerów rozmieszczenia. Nauczysz się na przykład tworzyć systemy menu, okna z podziałkami, paski narzędzi i paski stanu. Rozdział zawiera również wprowadzenie do kilku API WPF (i związanych z nimi kontrolek), w tym API Documents i API Ink, a także poleceń, zdarzeń trasowanych, modelu dowiązywania danych i właściwości zależnych.

Rozdział 28. Usługi przetwarzania grafiki WPF

WPF to API oparty w dużej mierze na grafice i dlatego dostępne są trzy sposoby renderowania grafiki: kształty, rysunki i wizualizacje. W tym rozdziale rozważysz każdą opcję, a przy okazji poznasz wiele prostych typów graficznych (np. pędzle, pióra i przekształcenia). W rozdziale tym omówimy również sposoby wplatania obrazków wektorowych do grafiki WPF, a także wykonywanie testowania trafień na bazie danych graficznych.

Rozdział 29. Zasoby, animacje, style i szablony WPF

Ten rozdział jest wprowadzeniem do trzech ważnych (i związanych ze sobą) zagadnień, które pogłębią twoją wiedzę na temat API Windows Presentation Foundation. W pierwszej kolejności poznasz rolę zasobów logicznych. Jak się przekonasz, system zasobów logicznych (zwanych również zasobami obiektowymi) to sposób nazywania i odwoływania się do często używanych obiektów w aplikacji WPF. Następnie nauczysz się definiować, wykonywać i sterować animowaną sekwencją. Wbrew temu, co mogłoby się wydawać, animacje WPF nie ograniczają się do gier wideo czy też aplikacji multimedialnych. Rozdział zakończymy omówieniem roli stylów WPF. Podobnie jak strony internetowe używają CSS lub silnika motywów ASP.NET, w aplikacji WPF można zdefiniować wspólny wygląd zbioru kontrolek.

Rozdział 30. Powiadomienia, polecenia, sprawdzanie prawidłowości danych i MVVM

Ten rozdział zaczniemy od omówienia trzech podstawowych możliwości platformy: powiadomień, poleceń WPF i walidacji. W pierwszej części dowiesz się o obserwowanych modelach i kolekcjach i o tym, w jaki sposób zapewniają synchronizację danych aplikacji z interfejsem użytkownika. Następnie zagłębisz się w polecenia, tworząc niestandardowe polecenia, aby hermetyzować kod. W części poświęconej sprawdzaniu prawidłowości danych nauczysz się używać kilku mechanizmów walidacji dostępnych w aplikacjach WPF. Rozdział zakończymy omówieniem wzorca MVVM (Model View ViewModel) i utworzeniem aplikacji demonstrującej jego działanie.

Część 8. ASP.NET

Część 8 jest poświęcona tworzeniu aplikacji internetowych za pomocą API ASP.NET. Microsoft zaprojektował ASP.NET do modelowania tworzenia okienkowych interfejsów użytkownika, umieszczając obiektową, opartą na zdarzeniach warstwę nad standardowymi mechanizmami żądania/odpowiedzi HTTP. W trzech pierwszych rozdziałach omawiamy podstawy pisania aplikacji internetowych i Web Forms, a w ostatnim – dwa najnowsze elementy ASP.NET: MVC i API Web.

Rozdział 31. Wprowadzenie do ASP.NET Web Forms

W tym rozdziale zaczniemy naukę tworzenia aplikacji internetowych za pomocą ASP.NET. Jak się przekonasz, miejsce skryptu po stronie serwera zajęły teraz prawdziwe języki obiektowe (np. C# i VB .NET). W tym rozdziale omówimy budowę internetowej strony ASP.NET, bazowy model programowania i inne kluczowe aspekty ASP.NET, jak np. wybór serwera www i używanie plików Web.config.

Rozdział 32. Kontrolki internetowe, strony wzorcowe i motywy ASP.NET

Poprzedni rozdział dotyczył konstruowania obiektów ASP.NET Page, w tym natomiast omówimy kontrolki, które wypełniają wewnętrzne drzewo kontrolek. Zbadasz podstawowe kontrolki sieciowe ASP.NET, w tym kontrolki walidacyjne, kontrolki do nawigacji wewnątrz witryny i różne operacje dowiązywania danych. Przedstawimy również rolę stron wzorcowych i silnik motywów ASP.NET, czyli serwerową alternatywę dla tradycyjnych arkuszy stylów.

Rozdział 33. Techniki zarządzania stanem ASP.NET

W tym rozdziale wiedzę na temat ASP.NET rozszerzysz o różne sposoby zarządzania stanem na platformie .NET. ASP.NET, tak jak klasyczny ASP, pozwala bez problemu tworzyć pliki cookie oraz zmienne na poziomie aplikacji i na poziomie sesji. Jednak w ASP.NET wprowadzono również nową technikę zarządzania stanem: bufor aplikacji. Po zapoznaniu się z kilkoma sposobami zarządzania stanem w ASP.NET dowiesz się o roli klasy bazowej HttpApplication i nauczysz się, jak dynamicznie zmieniać działanie aplikacji internetowej za pomocą pliku Web.config.

Rozdział 34. ASP.NET MVC i API Web

W tym rozdziale są omówione dwie najnowsze platformy ASP.NET: MVC i API Web. ASP.NET MVC opiera się na wzorcu Model Widok Kontroler i po zapoznaniu się z nim napiszesz aplikację MVC. Dowiesz się o rusztowaniach, trasowaniu, kontrolerach, akcjach i widokach w Visual Studio. Następnie napiszesz internetową usługę RESTful API Web, która będzie wykonywać wszystkie operacje CRUD (tworzenie, odczyt, aktualizacja i usuwanie) na danych Inventory (za pomocą AutoLotDAL), a na końcu zaktualizujesz swoją aplikację MVC, aby zamiast bezpośrednio wywoływać AutoLotDAL, używała tej nowej usługi.

Załączniki do pobrania

W pliku ZIP towarzyszącym wydrukowanemu materiałowi i zawierającym kod źródłowy z przykładami z tej książki (znajdziesz go na witrynie Apress pod adresem www.apress.com) są też dodatkowe rozdziały w formacie PDF. Omówiono w nich kilka dodatkowych API na platformie .NET, które mogą ci się przydać w pracy. W szczególności znajdziesz tam następujący dodatkowy materiał:

- Załącznik A, „Programming with Windows Forms”;
- Załącznik B, „Platform-Independent .NET Development with Mono”.

Pierwszy załącznik to podstawowe informacje o API do tworzenia okienkowych aplikacji Windows Forms, niezbędne do odtworzenia kilku okienkowych GUI z pierwszych rozdziałów tego tekstu (aż do wprowadzenia do Windows Presentation Foundation). Drugi pochodzi ze starszego wydania tego tekstu; omawia rolę platformy Mono bardziej szczegółowo niż w rozdziałach 1 i 2. Musisz jednak wiedzieć, że zrzuty ekranowe w załączniku B zostały wykonane w starszej wersji IDE MonoDevelop, której miejsce zajmuje teraz Xamarin Studio (patrz rozdz. 2). Niemniej podstawowe przykłady z kodem działają w Mono tak jak powinny.

Kod źródłowy do tej książki

Całość przykładowego kodu z tej książki możesz pobrać za darmo z witryny wydawnictwa Apress (www.apress.com). Po prostu znajdź tytuł książki i poszukaj na stronie domowej odnośnika do pobierania plików. Po pobraniu odpowiedniego pliku *.zip rozpakuj jego zawartość. Zobaczysz, że projekty zostały podzielone na poszczególne rozdziały.

Przy okazji należy wspomnieć o znajdujących się we wszystkich rozdziałach książki ramkach „Kod źródłowy”, takich jak ta poniżej. Są to wskazówki, że możesz pobrać przykładowy, właśnie omawiany kod, otworzyć go w Visual Studio, a następnie analizować i modyfikować.

Kod źródłowy. Jest to uwaga na temat kodu źródłowego, która odsyła do konkretnego katalogu w archiwum ZIP.

Aby otworzyć rozwiązanie w Visual Studio, z menu File wybierz kolejno Open i Project/Solution, a następnie przejdź do odpowiedniego pliku *.sln w odpowiednim podkatalogu rozpakowanego archiwum.

Aktualizacje do tej książki

Czytając ten tekst, możesz od czasu do czasu natrafić na jakiś błąd gramatyczny albo w kodzie (mamy nadzieję, że tak się nie stanie). Jeśli tak się stanie, przyjmij nasze przeprosiny. Jesteśmy ludźmi i mimo naszych najlepszych starań błąd czy dwa mogą się zdarzyć. A jeśli tak się stanie, aktualną erratę znajdziesz na internetowej witrynie wydawnictwa Apress pod adresem www.apress.com (ona również znajduje się na stronie domowej tej książki). Poza tym, w tym właśnie miejscu możesz powiadomić nas o wszystkich błędach, które znajdziesz.
mniej..

BESTSELLERY

Kategorie: