Realizacja aplikacji internetowych

Slides:



Advertisements
Podobne prezentacje
Java Data Objects.
Advertisements

Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
Analiza wywołania i przebiegu przerwań w systemie Linux
C++ w Objectivity Marcin Michalak s1744. Pomocne pakiety: Data Definition Language (DDL). Standard Template Library (STL). Active Schema.
OOPC++ - operatory1 Operatory class complex { private: double re, im; public: complex (double r, double i = 0) { re = r; im = i; } friend complex operator+
Model – View - Controler
GUI Struktury Spotkanie integracyjne Nazwa wydziału: EAIiE Nazwa katedry: Informatyka Miejsce i data prezentacji: Kraków,
1 Przestrzenie nazw. 2 Globalna przestrzeń nazw jest jedna W programach pisanych przez wiele osób, lub korzystających z bibliotek napisanych przez innych,
Programowanie Lokalnych Aplikacji .NET
.NET Remoting Łukasz Zawadzki.
Współprogramy Plan: Motywacja Składnia Scenariusz obiektu współprogramu Przykłady Producent – konsument ( instrukcja attach ) Czytelnik -pisarze ( instukcja.
142 JAVA – sterowanie i wątki public class A20 extends javax.swing.JApplet implements ActionListener { private int licznik = 0; private JTextField t =
Aplikacje sieciowe Obiekty typu Socket. ServerSocket ClientSocket Socket ClientSocket Socket.
Warstwy aplikacji sieciowych
MS ASP.NET 2005/2006
1 Building Integration System - Training Internal | ST-IST/PRM1 | 02/2008 | © Robert Bosch GmbH All rights reserved, also regarding any disposal,
Licencjonowanie Lync 2013 Poziom 200.
Tadeusz Janasiewicz IT Group, Tadeusz Janasiewicz, WSUS, IT Group, r.
Nowoczesna architektura w aplikacjach Windows Store
Mobilność maszyn wirtualnych w Hyper-V
Test Doubles Adam Gabryś , v1.1,
PowerPivot dla DBA mgr inż. Paweł Potasiński.
Najpopularniejsze aplikacje ASP.NET i PHP.
Porysujmy trochę czyli Łączenie SQLa, AutoCADa i Delphi
Zrozumieć Umbraco w 45 minut.
LINQ (Language-INtegrated Query) Marcin Bohdziewicz s4070.
Dr inż. Piotr Czapiewski. Overloading Znaczenie inne niż w większości języków obiektowych Metoda dynamicznego tworzenia pól i metod Magiczne metody.
PRZELICZNIK DŁUGOŚCI w programie NetBeans IDE autorzy: Michał Mrozek i Marcin Mrugała 2012.
Krzysztof Manuszewski
Realizacja aplikacji internetowych Silverlight. Silverlight – krótka historia Silverlight 1 beta - wiosna 2007 Silverlight 2 beta – wiosna 2008 produkcja.
Obsługa Systemu Operacyjnego Windows
Zarządzanie magazynem danych - Storage Spaces w Windows Server 2012 oraz w Windows 8 Błażej Miśkiewicz MCTMCP MCSA MCTS MCITP.
Damian Wojdan Kraków,
Asynchroniczność w Windows 8 Jakub Binkowski. O mnie Jakub Binkowski Lead.NET Developer.
Wprowadzenie do Windows 8 Marcin Iwanowski. Agenda Podstawowe koncepcje Windows 8Wprowadzenie do Windows Run-timeWindows Store Zrozumiecie: W co Microsoft.
db4o Kacper Skory Marcin Talarek
Czyli jak zrobić prezentację komputerową?
PIO 2_2, Zofia Kruczkiewicz1 Wykład 2 – część druga Iteracyjno-rozwojowy cykl oprogramowania 2.
Tworzenie aplikacji webowych w oparciu o framework ObjectLedge
Prezentacja z przedmiotu „systemy wizyjne”
Podstawy programowania
Model – View – View Model
Zend Framework Framework php Antonczak Lukasz. Dlaczego Zend Framework Zend Framework jest frameworkiem dla PHP5 rozwijanym przez społeczność użytkowników.
Podstawy licencjonowania Exchange, SharePoint oraz Lync.
C# Cz.7 Refleksja, Atrybuty
Adam Suwała DIY - DI.
Krótka historia asynchroniczności w.NET Jakub Binkowski.
Komunikacja z platformą T2S
System gospodarki rynkowej
Instalacja serwera WWW na komputerze lokalnym
Bazy danych w systemie SimCallCenter Krótkie omówienie wyboru baz danych stosowanych w CallCenter, integracja z zewnętrznymi bazami danych Czas 15 min.
Warsztaty C# Część 2 Grzegorz Piotrowski Grupa.NET PO
Warsztaty C# Część 3 Grzegorz Piotrowski Grupa.NET PO
KINECT – czyli z czym to się je?. Damian Zawada
To popularny portal internetowe. Pisząc blog informujemy internautów o swoich zainteresowaniach np. o modzie lub gotowaniu. Niestety czasem zapominamy.
Rozdział 3: Bezpieczeństwo w sieci opartej na systemie Windows 2000.
Magic Janusz ROŻEJ Komtech Sp. z o.o.
Kostyantyn Doronovych, 79129, sr1640 Łukasz Marciniak, 79166, sr1640
Technologie Programowania seminarium
dla programistów Windows Phone
Silverlight 4 dla Windows Phone 7
1.
Wydział Elektroniki Kierunek: AiR Zaawansowane metody programowania Wykład 6.
Responsywne aplikacje w Windows 8 i.NET 4.5 Jakub Binkowski.
U innych działa ;( Debuggowanie startu aplikacji Arkadiusz Kocjan.
Jak przestałem się martwić i pokochałem tworzenie aplikacji okienkowych. źródło:
Implementacja wzorca MVVM w Prism 5.0
Komunikacja pomiędzy luźno powiązanymi komponentami Mateusz Sionkowski.
Wzorzec MVC Model View Controller
Rozszerzanie biblioteki Prism
Zapis prezentacji:

Realizacja aplikacji internetowych MVVM, Prism i inni

MVC, MVP

MVVM Anemiczny model ?

MVVM Model services

MVVM czytanki http://www.codeproject.com/Articles/100175/Model-View-ViewModel-MVVM-Explained

Tradycyjna aplikacja Widok 1 Widok 2 Widok 1 Widok 2 Widok 2 Widok 2

MVVM Widok 1 Widok 1 Model(e) i serwisy Widok 2 Widok 2 Model Widoku

Prism 2.X 4.0 – WPF 4.0, SL4.0 4.1 – WPF 4.0, SL5.0 4.5 – WPF 4.5, SL5.0 Podstawowe pojęcia: Shell Bootstapper Moduł Region Widok

Prism – architektura aplik.

Prism – bootstrapper Inicjalizacja : Aplikacji Serwisów infrastukturalnych (core services) Serwisów aplikacji

Prism – bootstrapper UnityBootstrapper / MefBootstrapper Core services: IModuleManager, IModuleCatalog, IModuleInitializer, IRegionManager, IEventAggregator, ILoggerFacade, IServiceLocator

Prism – shell Główne okno/strona Anlogia do masterpage Obejmuje regiony Tworzony w Bootstrapperze (wstrzykiwany z Unity/MEF)

Prism – Region “placeholder” dla dynamicznego kontentu Adaptery:

Prism – Wstrzykiwanie widoków Kod pobiera (np. z RegionManagera) referencję do regionu, tworzy i wstrzykuje widok IRegion region = regionManager.Regions["MainRegion"]; var ordersView = container.Resolve<OrdersView>(); region.Add(ordersView, "OrdersView"); region.Activate(ordersView);

Prism – Odkrywanie widoków Definiujemy w RegionViewRegistry relacje Region vs. Typ Widkoku i podczas tworzenia regionu automatycznie tworzony jest odpowiedni widok this.regionManager.RegisterViewWithRegion("MainRegion“, () => this.container.Resolve<EmployeeView>());

Prism – Region adapter-y ContentControlRegionAdapter – dla kontrolek System.Windows.Controls.ContentControl i pochodnych SelectorRegionAdapter - dla pochodnych klas System.Windows.Controls.Primitives. (np. System.Windows.Controls.TabControl control). ItemsControlRegionAdapter – dla kobtrolek typu System.Windows.Controls.ItemsControl i pochodnych TabControlRegionAdapter – (tylko SL) Custom adapter np. dla stack pannel mappings.RegisterMapping(typeof(StackPannel), new StackPannelRegionAdapter());

Prism – custom adapter protected override void Adapt(IRegion region, ContentControl regionTarget) { region.Views.CollectionChanged += (sender, e) => { if (e.Action == NotifyCollectionChangedAction.Add) foreach(FrameworkElements element in e.NewItems) { regionTarget.Children.Add(element) ; } // handle removing of elemts };

Prism – Komunikacja Komendy Shared Services EventAggregator DelegateCommand – zwykle lokalna, używa delegatów, nie wymaga handlerów DelegateCommand – bez paramerów DelegateCommand<T> - wymaga parametrów (XAML-> commandParameter=…) CompositeCommand - zwykle globalna, służy do składania komend, składanie komend (dziala CanExecute -> wszystkie muszą być dostępne) Shared Services EventAggregator Region Context

Prism – Komendy DelegateCommand – zwykle lokalna, używa delegatów, nie wymaga handlerów DelegateCommand – bez paramerów DelegateCommand<T> - wymaga parametrów (XAML-> commandParameter=…) CompositeCommand - zwykle globalna, służy do składania komend, składanie komend (dziala CanExecute -> wszystkie muszą być dostępne)

Prism – EventAggregator

EA – subskrypcja eventAggregator.GetEvent<TickerSymbolSelectedEvent>().Subscribe(ShowNews); wątki: PublisherThread BackgroundThread UIThread. eventAggregator.GetEvent<TickerSymbolSelectedEvent>().Subscribe(ShowNews, ThreadOption.UIThread); Filtrowanie: fundAddedEvent.Subscribe(FundAddedEventHandler, ThreadOption.UIThread, false, fundOrder => fundOrder.CustomerId == _customerId);

EA – publikacja, rezygnacja z s. EventAggregator.GetEvent<TickerSymbolSelectedEvent>().Publish(“STOCK0”); Rezygnacja z subskrypcji: FundAddedEvent fundAddedEvent = eventAggregator.GetEvent<FundAddedEvent>(); subscriptionToken = fundAddedEvent.Subscribe( FundAddedEventHandler, ThreadOption.UIThread, false); fundAddedEvent.Unsubscribe(subscriptionToken);

Region Context Obiekt współdzielony przez hosta i widoki w regionie Widoczny w XML i w kodzie Wymaga dependancy object To nie to samo co DataContext Definicja: RegionManager.Regions["Region1"].Context = employeeId; Odwołanie ObservableObject<object> viewRegionContext = RegionContext.GetObservableContext(this); Lub cal:RegionManager.RegionContext="{Binding Path=SelectedEmployee.EmployeeId}"

Prism linki HomePage http://compositewpf.codeplex.com/ HOL - http://msdn.microsoft.com/en-us/library/gg405475%28v=pandp.40%29.aspx Dokumentacja http://msdn.microsoft.com/en-us/library/gg406140.aspx

Inne MVVM Caliburn Micro Knockout (JavaScript framework) I inne… 