Instrukcja laboratoryjna nr.2

Podobne dokumenty
Instrukcja laboratoryjna nr.3

Instrukcja laboratoryjna cz.3

Instrukcja laboratoryjna nr.4

Instrukcja laboratoryjna

xmlns:prism= c. <ContentControl prism:regionmanager.regionname="mainregion" />

Projektowanie obiektowe oprogramowania Wzorce architektury aplikacji (2) Wykład 10 Inversion of Control/Dependency Injection Wiktor Zychla 2014

Dynamiczne i wydajne tworzenie interfejsu. Piotr Michałkiewicz

Kontenery IoC dla Java Guice 3.0

Opis dotyczy wykonania konfiguracji karty przy użyciu oprogramowania SimaticNet PC Software V6.2 oraz Simatic NCM PC.

Programowanie komponentowe. Przykład 1 Bezpieczeństwo wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz

Instrukcja laboratoryjna cz.6

Enterprise JavaBeans (EJB)

- dodaj obiekt tekstowy: /** Maciej */ Stage { title : "First JavaFX App" scene: Scene { width: 300 height: 300 content: [ ] } }

Tworzenie i wykorzystanie usług sieciowych

Tworzenie własnych komponentów

Informatyka I. Klasy i obiekty. Podstawy programowania obiektowego. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018

Microsoft.NET: ASP.NET MVC + Entity Framework (Code First)

Informatyka I : Tworzenie projektu

Projektowanie obiektowe oprogramowania Wzorce architektury aplikacji (2) Wykład 10 Inversion of Control/Dependency Injection Wiktor Zychla 2016

Programowanie Urządzeń Mobilnych. Laboratorium nr 7, 8

Zaawansowane Aplikacje Internetowe

Programowanie niskopoziomowe

Programowanie obiektowe. Obiekt Klasa Składnia klasy: Interfejsy Składnia interfejsu: Metody Składnia instrukcji Sub: Składnia instrukcji function:

Programowanie obiektowe

3.4. Opis konfiguracji layoutów.

namespace HostedReceiver { public class Receiver: IConfigureThisEndpoint, AsA_Server {

Aplikacje internetowe i rozproszone - laboratorium

Obiektowy PHP. Czym jest obiekt? Definicja klasy. Składowe klasy pola i metody

Ekspert radzi. mechanizm w enova, umożliwiający wskazanie domyślnej drukarki dla danego stanowiska i wydruku. Strona 1 z 8. Ekspert radzi.

Zad.30. Czy można utworzyć klasę, która implementuje oba interfejsy?

Laboratorium 1. Programowanie II - Kierunek Informatyka. dr inż. Janusz Słupik. Gliwice, Wydział Matematyki Stosowanej Politechniki Śląskiej

Podstawy programowania. Ćwiczenie. Pojęcia bazowe. Języki programowania. Środowisko programowania Visual Studio

LINQ TO XML. Autor ćwiczenia: Marcin Wolicki

Instalacja NOD32 Remote Administrator

MICROSOFT WINDOWS INSTALLER TWORZENIE INSTALATORÓW W ŚRODOWISKU VISUAL STUDIO.NET

Projektowanie obiektowe oprogramowania Wzorce architektury aplikacji (2) Wykład 10 Inversion of Control Wiktor Zychla 2013

1. Które składowe klasa posiada zawsze, niezależnie od tego czy je zdefiniujemy, czy nie?

WPROWADZENIE DO INFORMATYKI

I2: J2ME programowanie w NetBeans IDE Wydział Transportu PW semestr /11

Klasy. dr Anna Łazińska, WMiI UŁ Podstawy języka Java 1 / 13

Projektowanie aplikacji internetowych laboratorium

Wykład 4 Delegat (delegate), właściwości indeksowane, zdarzenie (event) Zofia Kruczkiewicz

11. Autoryzacja użytkowników

MentorGraphics ModelSim

Programowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz

cmt + CODESYS, oraz zdalne wejścia/ wyjścia

Narzędzia i aplikacje Java EE. Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl

Konfigurowanie sterownika BC8150 firmy Beckhoff wprowadzenie

2. W oknie dialogowym Choose Toolbox Items w zakładce.net Framework Components naciskamy przycisk Browse...

Wprowadzenie do projektu QualitySpy

Hurtownie danych - przegląd technologii

Wykład Ćwiczenia Laboratorium Projekt Seminarium

Instrukcja laboratoryjna cz.3

Spring Web MVC, Spring DI

Laboratorium 1. Wzorce oprogramowania lab1, Zofia Kruczkiewicz

Konfiguracja dostępu zdalnego z wykorzystaniem tunelu VPN pomiędzy SCALANCE S623 a SOFTNET Security Client

Konfiguracja programu komunikacyjnego DAServer SIDirect do komunikacji ze sterownikami Siemens S7 300 i 400 po protokole Ethernet

Warsztaty AVR. Instalacja i konfiguracja środowiska Eclipse dla mikrokontrolerów AVR. Dariusz Wika

Wykład 3 Inżynieria oprogramowania. Przykład 1 Bezpieczeństwo(2) wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz

Microsoft.NET: LINQ to SQL, ASP.NET AJAX

I. WSTĘP. Przykład 1. Przykład 2. Programowanie czyli tworzenie programów komputerowych (aplikacji komputerowych)

Konfiguracja serwera DNS w systemie Windows Server 2008 /2008 R2

FAQ: /PL Data: 16/11/2007 Programowanie przez Internet: Konfiguracja modułów SCALANCE S 612 V2 do komunikacji z komputerem przez VPN

Laboratorium programowania urządzeń mobilnych

Administrowanie systemami sieciowymi Laboratorium 3

Programowanie Komputerów 2FD. Materiały pomocnicze do laboratorium

Politechnika Gdańska Katedra Optoelektroniki i Systemów Elektronicznych

Instrukcja tworzenia aplikacji EE na bazie aplikacji prezentowanej na zajęciach lab.4 z PIO umożliwiająca przez sieć dostęp wielu użytkownikom.

Wykład 8: klasy cz. 4

Zaawansowane programowanie w języku C++ Klasy w C++

Programowanie MorphX Ax

LABARATORIUM 9 TESTY JEDNOSTKOWE JUNIT 3.8

Aplikacje w środowisku Java

Instalacja i konfiguracja konsoli ShadowControl

INFORMATOR TECHNICZNY WONDERWARE

onfiguracja serwera DNS w systemie Windows Server 2008 /2008 R2

Instrukcja laboratoryjna cz.2

FAQ: /PL Data: 3/07/2013 Konfiguracja współpracy programów PC Access i Microsoft Excel ze sterownikiem S7-1200

Rok akademicki: 2012/2013 Kod: ZIE s Punkty ECTS: 3. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

INFORMATOR TECHNICZNY WONDERWARE

Db4o obiektowa baza danych wersja.net

Instrukcja tworzenia aplikacji bazodanowej opartej o technologię Oracle i platformę.net

Dziedziczenie Dana jest klasa Punkt w pliku o nazwie Punkt.java:

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje w roku akademickim 2012/2013. Przedmioty kierunkowe

ZAPOZNANIE SIĘ Z TWORZENIEM

Programowanie obiektowe

Zaawansowane aplikacje internetowe

Programowanie obiektowe w Perlu

Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski SYSTEMY SCADA

Instrukcja instalacji

Programowanie obiektowe

Obiektowe programowanie rozproszone Java RMI. Krzysztof Banaś Systemy rozproszone 1

Programowanie obiektowe

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje studentów rozpoczynających studia w roku akademickim 2012/2013

STWORZENIE BIBLIOTEKI SŁUŻĄCEJ DO WCZYTYWANIA

Laboratorium nr 12. Temat: Struktury, klasy. Zakres laboratorium:

KLASA UCZEN Uczen imię, nazwisko, średnia konstruktor konstruktor Ustaw Wyswietl Lepszy Promowany

Języki i paradygmaty programowania Wykład 2. Dariusz Wardowski. dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/18

1. Wstęp. Wizualizacja połączenia

Transkrypt:

Języki programowania na platformie.net 2017/18 Instrukcja laboratoryjna nr.2 Kontener Unity Prowadzący: Tomasz Goluch Wersja: 2.0

I. Kontener Unity. Cel: Instalacja i konfiguracja kontenera Unity. Rejestracja i utworzenie instancji typu udostępniającego zdefiniowany interfejs. Utwórz nowy Console Application projekt (Visual C#). Zainstaluj pakiet Unity, za pomocą Nugeta (komenda: Install-Package <NazwaPakietu> {-Project <NazwaProjektu>}) W wyniku instalacji powinniśmy otrzymać następujące referencje: Dodaj interfejs ILogger oraz klasy: Logger i Worker: Utwórz kontener unity: Konfiguracja kontenera może odbywać się: w kodzie (imperatywnie) w XML (deklaratywnie) plik App.config.

Rejestracja typu udostępniającego interfejs (kod): UnityContainer::RegisterType<typ_interfejsu, typ_obiektu>([lifetimemgr], parametry) UnityContainer::RegisterType<typ_interfejsu, typ_obiektu>(nazwa, [lifetimemgr], parametry) Parametry opisują, jak wstrzykiwać zależności: new InjectionConstructor(parametry) poprzez konstruktor new InjectionMethod(nazwa_metody, parametry) poprzez metodę nazwa_metody new InjectionProperty(nazwa_property, wartość) poprzez property nazwa_property new ResolvedParameter<typ>([nazwa]) oznacza zbuduj odpowiedni obiekt typu typ new ResolvedArrayPrameter<typ>() utworzenie tablicy wszystkich możliwych obiektów (zob. ResolveAll) Zarejestruj klasę Logger udostępniającej interfejs ILogger: Tworzenie instancji: UnityContainer::Resolve<typ>([nazwa]) zwraca nowy obiekt, UnityContainer::ResolveAll<typ>() zwraca IEnumerable<typ> wszystkich NAZWANYCH typów, UnityContainer::BulidUp<typ>(obiekt [nazwa]) inicjuje podany obiekt. Utwórz nowy obiekt klasy Worker i zaobserwuj działanie metody Work: W cel rejestracji deklaratywnej (XML) dodaj do pliku konfiguracyjnego (App.config 1 ) referencję do projektu: Project Add Reference.NET System.Configuration Wczytanie konfiguracji: 1 W przypadku braku pliku konfiguracyjnego dodaj go do projektu: Project Add New Item Application Configuration File Add.

W pliku App.config dodaj nową sekcję Unity: Dodaj aliasy nazw (wewnątrz sekcji konfiguracyjnej unity): Dodaj rejestrację klasy Logger udostępniającej interfejs ILogger: II. Wstrzykiwanie zależności. Cel: Wstrzykiwanie zależności za pomocą: konstruktora, wartości i metody. Dodaj kod klasy NumLogger: Zarejestruj klasę NumLogger udostępniającej interfejs ILogger o nazwie numlog i wstrzykniętym konstruktorem:

Dodaj kod klasy MetWorker: Zarejestruj klasę MetWorker wraz ze wstrzyknięciem property: Utwórz nowy obiekt klasy MetWorker i zaobserwuj działanie metody Work: Konfiguracja w App.config, dodaj aliasy : Rejestracja klasy NumLogger udostępniającej interfejs ILogger o nazwie numlog i wstrzykniętym konstruktorem: Rejestracja klasy MetWorker wraz ze wstrzyknięciem property:

Dodaj kod klasy SetWorker: Rejestracja instancji: UnityContainer::RegisterInstance<typ_interfejsu>(obiekt, [lifetimemgr]) UnityContainer::RegisterInstance<typ_interfejsu>(nazwa, obiekt, [lifetimemgr]) Zarejestruj instancję typu ILogger: Konfiguracja obiektu tylko korzystającego z interfejsów: UnityContainer::RegisterType<typ>([nazwa], parametry) UnityContainer::Configure<InjectedMembers>().ConfigureInectionFor<typ>(paramet ry) Skonfiguruj obiekt typu SetWorker: Utwórz nowy obiekt klasy SetWorker i zaobserwuj działanie metody Work: Konfiguracja w App.config, dodaj alias : Rejestracja instancji typu ILogger: W celu zdefiniowania konwertera typów dodaj przestrzeń nazw:

oraz klasę konwertera: Konfiguracja obiektu typu SetWorker: Utwórz kolejny nowy obiekt klasy MetWorker i zaobserwuj działanie metody Work: Zarejestruj instancję typu MetWorker: Wstrzyknij do istniejącego obiektu w2 jako właściwość instancję typu ILogger przekazaną wcześniej do metody SetLogger instancji typu SetWorker. Zaobserwuj działanie metody Work: Konfiguracja w App.config, rejestracja instancji typu MetWorker: