03 Model-View-ViewModel. Ben Riga
|
|
- Lauren Watkins
- 6 years ago
- Views:
Transcription
1 03 Model-View-ViewModel Ben Riga
2 Course Topics Building Apps for Both Windows 8 and Windows Phone 8 Jump Start 01 Comparing Windows 8 and Windows Phone 8 02 Basics of View Models 03 MVVM ( (Model-View-ViewModel) 04 Sharing Code
3 Model-View-ViewModel
4 Agenda Introduction to MVVM (Model- View-ViewModel) Architecture Pros and cons Sharing code using MVVM MVVM libraries MVVM Light Toolkit Q&A.NET portable class library Best practices
5 Introduction to MVVM
6 Architecture Overview: What is MVVM? MVVM is a software architectural pattern Like many patterns, it promotes code reuse through separations of concerns and modularity An MVVM app is divided into three main parts: The Model stores and maintains the program data The View presents data and receives user-input through a platform-customized UI and UX The ViewModel presents an interface to bind data to Views Each part is very loosely coupled Reuse the Model and the ViewModel across platforms, but not the View
7 Architecture View View Data Binding Commands Events /Messages ViewModel Messages, Callbacks ViewModel Model
8 Pros and Cons Not every app should use MVVM Weigh the pros and cons and decide the best approach for your scenario Pros Can reuse Model and View-Model code across platforms Code has a clearly defined structure Test the ViewModel with unit tests Cons Lots of boilerplate code May be more powerful than necessary for certain apps Decoupling loses strong type checking Maintainability Can show design-time data in Expression Blend and the Visual Studio designer
9 Sharing Code using MVVM
10 MVVM and Code Sharing This section looks at some of the details of MVVM Also, a look at the portable class library Finally, some best practices when using MVVM Includes an overview of each part of MVVM Model, View, and ViewModel Emphasis on those parts that facilitate code sharing Data Binding Commands Messages
11 Model The Model, or the Data Model, stores the persistent data for an app Can be databases, local storage files, settings, or any other persistent data Responsible for create, retrieve, update, and delete operations Model should know nothing about the View or ViewModel Usually the most portable part of the app Windows Phone 8 supports a local SQL Server CE database Windows 8 does not, but SQLite libraries are readily available
12 Model public class CommonDataItem public DataItem(string uid) Uid = uid; public string Uid get; private set; // Other properties... public interface IDataService void GetItem(Action<CommonDataItem> callback, string uid); public class DataService : IDataService public void GetItem(Action<CommonDataItem> callback, string uid) // Retrieve the data from the actual source //... var item = new DataItem(...); callback(item);
13 View A View should present the user with an interface to see and manipulate the data An app can have many Views Views are defined by XAML Data binding connects Views to ViewModels Still possible to manually listen for changes and update the Views and the Model from the code-behind - Not the best way to keep a View up-to-date In MVVM, the View does not handle user actions That is the responsibility of the ViewModel
14 ViewModel A ViewModel, or PresentationModel, is responsible for: Presenting data to the view Responding to user manipulations of the view Data binding can relieve the work of updating the view The ViewModel holds the business logic of the app Decoupled from the View Lets developers work on the ViewModel while designers work on the View
15 ViewModel An app can have many ViewModels Usually a one-to-one correspondence between Views and ViewModels A ViewModel is linked to a View by setting the DataContext property for an element in the View This binding is inherited by all child elements
16 ViewModel public class MainViewModel : ViewModelBase private readonly IDataService _dataservice; public const string Title_PropertyName = "Title"; private string _title = string.empty; public string Title get return _title; set if (_title == value) return; _title = value; RaisePropertyChanged(Title_PropertyName); // Constructor... public MainViewModel(IDataService dataservice) _dataservice = dataservice; _dataservice.getdata( (item) => Title = item.title; );
17 About the Demo The demo for this presentation uses the PhotoManager app. It showcases MVVM well. The PhotoManager will also be used for demos in the next presentation. PhotoManager.Win8 PhotoManager.WP8 PhotoManager.Core.Win8 PhotoManager.Core.WP8 Shared
18 Demo: MVVM
19 Data Binding Data binding is critical to the MVVM pattern Links the View to the ViewModel Can be a one-time, one-way, or two-way link Advantages: Write less code to update the view Easier to unit test Loose coupling avoids crashing the app Can provide design-time data for the designer
20 Commands In MVVM, commands let the View tell the ViewModel to execute code in response to a user action Replaces the paradigm of registering for events in the View. Implement System.Windows.Input.ICommand interface Commands can be enabled and disabled - Raise the CanExecuteChanged event when this happens
21 Commands class AddItemCommand : ICommand ViewModel _viewmodel; public AddItemCommand(ViewModel viewmodel) _viewmodel = viewmodel; public event EventHandler CanExecuteChanged; public bool CanExecute(object parameter) return true; In the XAML snippet, make sure that the DataContext is set to an instance of the ViewModel class. The ViewModel class exposes an AddCommand property of type AddItemCommand The ViewModel is responsible for actually adding a new item public void Execute(object title) _viewmodel.additem(title as string); <Button Command="Binding AddCommand" CommandParameter="Untitled" Content="Button" HorizontalAlignment="Center" VerticalAlignment="Center"/>
22 Messages Messages are a way to send information between objects. Sender and receiver Useful for communication between ViewModels Often a callback for when the receiver is done handling a message No built-in APIs, but some MVVM libraries provide support Why send messages? Suppose two ViewModels are attached to a single view - Each ViewModel handles a part of the view You want actions received by one ViewModel to be passed to another
23 Messages public abstract class BaseViewModel : INotifyPropertyChanged private IMessenger _messenger; public IMessenger Messenger get return _messenger; set if (_messenger!= null) Unsubscribe(); _messenger = value; Subscribe(); protected virtual void Unsubscribe() protected virtual void Subscribe() protected void PublishMessage<TMessage>(TMessage message) if (Messenger!= null) Messenger.Publish<TMessage>(message); //... public interface IMessenger void Subscribe<TMessage>(Action<TMessage> handler); void Unsubscribe<TMessage>(Action<TMessage> handler); void Publish<TMessage>(TMessage message);
24 Messages public class MessageRecipient public MessageRecipient() Messenger.Default.Register<MyMessage>(this, async (msg) => var dlg = new MessageDialog(msg.Content); await dlg.showasync(); ); public class MyMessage : MessageBase public string Content get; set; var _recipient = new MessageRecipient(); //... Messenger.Default.Send<MyMessage>(new MyMessage() Content = "Hello World!" );
25 .NET Portable Class Library Visual Studio 2012 provides a portable class library template Only cross-platform.net APIs available Compiles into a separate library (.dll) Only managed code Only available in non-express editions of Visual Studio 2012
26 Best Practices Design apps for cross-platform portability Use MVVM to help achieve this Keep the components of an app loosely coupled Separation of concerns - Each component has a single well-defined role Avoid dependencies between Model, View, ViewModel Plan for upgrades, redesigns, and testing Again, consider MVVM or another loosely coupled architecture
27 Best Practices Data binding should eliminate a lot of the code in the codebehind file Some code-behind is OK, but look for ways to use data-binding and commands to replace this code. Avoid binding the same large collection multiple times on the same XAML page This applies to pivots as well. Avoid duplicate bindings to different pivot pages that are part of the same pivot. Binding does incur both memory and CPU overhead, so be careful how much data is bound to a page.
28 Best Practices Large collections bound to list controls should be virtualized You can use the VirtualizingStackPanel in place of the StackPanel You can narrow the scope of the binding s data context within the XAML document. For example: A Car object exposes an Engine object through a property named CarEngine A Car exposed by the MyCar property (of the View Model) is the data context for a XAML element Child elements of that XAML element can change their data context to the CarEngine by setting it to MyCar.CarEngine. This helps avoid long property paths.
29 MVVM Libraries
30 Numerous Tools Available Source: Wikipedia Jan, 2013
31 MVVM Light Toolkit Open-source framework created and maintained by GalaSoft Library includes Visual Studio templates Download at: Supports a light-weight implementation of the MVVM pattern Suitable for medium-large projects Two parts to the library Essentials: RelayCommand, Messenger, ViewModelBase Extras: EventToCommand, DispatcherHelper
32 Recap
33 Recap MVVM means Model-View-ViewModel The Model stores the persistent data The View presents the user with an interface to view and manipulate data A ViewModel presents data to the view and responds to user actions MVVM is a useful pattern for Windows Phone 8 (and Windows 8) that lets you reuse much of your app business logic Avoid causing chaos in the ViewModel when you replace the View MVVM works well with other cross-platform code reuse strategies: Portable libraries, inheritance, partial classes, shared code files, #if blocks
34 Q&A
35
04 Sharing Code Between Windows 8 and Windows Phone 8 in Visual Studio. Ben Riga
04 Sharing Code Between Windows 8 and Windows Phone 8 in Visual Studio Ben Riga http://about.me/ben.riga Course Topics Building Apps for Both Windows 8 and Windows Phone 8 Jump Start 01 Comparing Windows
More informationImplementing MVVM in Real World ArcGIS Server Silverlight Applications. Brandon Copeland LJA Engineering, Inc.
Implementing MVVM in Real World ArcGIS Server Silverlight Applications Brandon Copeland LJA Engineering, Inc. 1 Agenda / Focused Topics Application Demo Model-View-ViewModel (MVVM) What is MVVM? Why is
More informationWPF and MVVM Study Guides
1. Introduction to WPF WPF and MVVM Study Guides https://msdn.microsoft.com/en-us/library/mt149842.aspx 2. Walkthrough: My First WPF Desktop Application https://msdn.microsoft.com/en-us/library/ms752299(v=vs.110).aspx
More informationBuilding a mobile enterprise application with Xamarin.Forms, Docker, MVVM and.net Core. Gill
Building a mobile enterprise application with Xamarin.Forms, Docker, MVVM and.net Core Gill Cleeren @gillcleeren www.snowball.be Agenda Overall application structure The Xamarin application architecture
More informationMobile Computing. Xamarin Data Binding MVVM Pattern. Data Binding. XAML binding example. Target Views. In simple apps. For complex or big apps
APM@FEUP Xamarin Data Binding MVVM Pattern 1 Data Binding In simple apps Get and set properties of controls is done explicitly in the code behind entry1.text = Hello, world! ; For complex or big apps This
More informationMobile Computing Xamarin Data Binding MVVM Pattern
Xamarin Data Binding MVVM Pattern APM@FEUP 1 Data Binding In simple apps Get and set properties of controls is done explicitly in the code behind entry1.text = Hello, world! ; For complex or big apps This
More informationArcGIS Pro SDK for.net Advanced User Interfaces in Add-ins. Wolfgang Kaiser
ArcGIS Pro SDK for.net Advanced User Interfaces in Add-ins Wolfgang Kaiser Session Overview MVVM Model View ViewModel - View and View Model Implementation in Pro - Dockpane Example - MVVM concepts - Multi
More informationArcGIS Pro Extensibility - Building and Deploying Addins with the new DotNet SDK
ArcGIS Pro Extensibility - Building and Deploying Addins with the new DotNet SDK Charlie Macleod - Esri Esri UC 2014 Demo Theater New at 10.3 is the ArcGIS Pro Application - Extensibility is provided by
More informationThe finished application DEMO ios-specific C# Android-specific C# Windows-specific C# Objective-C in XCode Java in Android Studio C# Shared Logic C# in Visual Studio ios codebase Android codebase Windows
More informationTest Your XAML-based Windows Store Apps with Visual Studio 2013 Benjamin Day
Test Your XAML-based Windows Store Apps with Visual Studio 2013 Benjamin Day Level: Intermediate Benjamin Day Brookline, MA Consultant, Coach, & Trainer Microsoft MVP for Visual Studio ALM Team Foundation
More informationArcGIS Pro SDK for.net Intro and Pro Add-in Programming Patterns. Wolfgang Kaiser
ArcGIS Pro SDK for.net Intro and Pro Add-in Programming Patterns Wolfgang Kaiser Session Overview Introduction to Pro Add-ins and the Module Introduction to Pro Configurations Asynchronous Programming:
More informationBuilding Extensible XAML Client Apps
Building Extensible XAML Client Apps Brian Noyes IDesign Inc. (www.idesign.net) brian.noyes@idesign.net, @briannoyes About Brian Chief Architect IDesign Inc. (www.idesign.net) Microso7 Regional Director
More informationArcGIS Pro SDK for.net Beginning Pro Customization. Charles Macleod
ArcGIS Pro SDK for.net Beginning Pro Customization Charles Macleod Session Overview Extensibility patterns - Add-ins - Configurations Primary API Patterns - QueuedTask and Asynchronous Programming - async
More informationPortable Class Libraries ---
Portable Class Libraries --- Overview In this lab, you ll learn about Portable Class Libraries (PCLs). PCLs enable you to create managed assemblies that work on more than one.net Framework platform. Within
More informationBuilding Extensible XAML Client Apps
Building Extensible XAML Client Apps Brian Noyes Chief Architect, IDesign Inc www.idesign.net brian.noyes@idesign.net, @briannoyes Level: Intermediate About Brian Chief Architect IDesign Inc. (www.idesign.net)
More information4/25/ Xamarin. All rights reserved.
1 v v Each cell is represented by some data structure which is then visualized on the screen headshot.source =...; nameentry.text = person.name; emailentry.text = person.email; birthday.date = person.dob;...
More informationSingle Page Applications using AngularJS
Single Page Applications using AngularJS About Your Instructor Session Objectives History of AngularJS Introduction & Features of AngularJS Why AngularJS Single Page Application and its challenges Data
More informationArcGIS Pro SDK for.net: Advanced User Interfaces in Add-ins. Wolfgang Kaiser
ArcGIS Pro SDK for.net: Advanced User Interfaces in Add-ins Wolfgang Kaiser Framework Elements - Recap Any Framework Element is an extensibility point - Controls (Button, Tool, and variants) - Hosted on
More informationGetting Started with ExcelMVC
Getting Started with ExcelMVC Just like Silverlight or WPF (Windows Presentation Foundation), ExcelMVC facilitates a clear separation between your application s business objects (Models), its user interfaces
More informationBuild Loosely Coupled Silverlight Business Applications
Build Loosely Coupled Silverlight Business Applications Brian Noyes www.idesign.net About Brian Chief Architect IDesign Inc. (www.idesign.net) Microsoft Regional Director (www.theregion.com) Microsoft
More informationSundew. Application Framework
Sundew Application Framework Contents Hukano Sundew... 3 Introduction... 3 Idea and motivation... 3 The Sundew Application Model... 4 Architecture... 4 Model-View-ViewModel according to Hukano... 5 ViewModels...
More informationConfiguring and Customizing the ArcGIS Viewer for Silverlight. Katy Dalton
Configuring and Customizing the ArcGIS Viewer for Silverlight Katy Dalton kdalton@esri.com Agenda Overview of the ArcGIS Viewer for Silverlight Extensibility endpoints - Tools, Behaviors, Layouts, Controls
More informationPro Windows 8.1. Development with. XAML and C# Jesse Liberty. Philip Japikse. Jon Galloway
Pro Windows 8.1 Development with XAML and C# Jesse Liberty Philip Japikse Jon Galloway Contents About the Authors About the Technical Reviewers Acknowledgments xvii xix xxi HChapter 1: Getting Started
More informationArcGIS Pro SDK for.net: Add-in Fundamentals and Development Patterns. Wolf Kaiser, Uma Harano
ArcGIS Pro SDK for.net: Add-in Fundamentals and Development Patterns Wolf Kaiser, Uma Harano Session Overview What is the ArcGIS Pro SDK? What is an ArcGIS Pro add-in? ArcGIS Pro Add-ins: - How to write
More informationMastering LOB Development
Mastering LOB Development for Silverlight 5: A Case Study in Action Develop a full LOB Silverlight 5 application from scratch with the help of expert advice and an accompanying case study Braulio Di'ez
More informationAdapting Chronotron Speed Changer to Windows Phone 8.1
Adapting Chronotron Speed Changer to Windows Phone 8.1 Meet the App Application Architecture Outlook After a Quick Code Review Universal Apps with Visual Studio Implementation Approach User Interface and
More informationQ&A. DEMO Version
TS: Windows Applications Development with Microsoft.NET Framework 4 Q&A DEMO Version Copyright (c) 2012 Chinatag LLC. All rights reserved. Important Note Please Read Carefully For demonstration purpose
More informationDeveloping Rich Internet Applications Using Microsoft Silverlight 4
Developing Rich Internet Applications Using Microsoft Silverlight 4 Course No. 10554 5 Days Instructor-led, Hands-on Introduction This course covers intermediate and advanced topics required to develop
More informationWindows Presentation Foundation (WPF)
50151 - Version: 4 21 January 2018 Windows Presentation Foundation (WPF) Windows Presentation Foundation (WPF) 50151 - Version: 4 5 days Course Description: This five-day instructor-led course provides
More informationThis tutorial is designed for software developers who want to learn how to develop quality applications with clean structure of code.
About the Tutorial Every good developer wants and tries to create the most sophisticated applications to delight their users. Most of the times, developers achieve this on the first release of the application.
More informationSTARCOUNTER. Technical Overview
STARCOUNTER Technical Overview Summary 3 Introduction 4 Scope 5 Audience 5 Prerequisite Knowledge 5 Virtual Machine Database Management System 6 Weaver 7 Shared Memory 8 Atomicity 8 Consistency 9 Isolation
More informationIndex. Windows 10 running, 199 suspended state, 199 terminate apps,
A Application lifecycle activation ApplicationExecution State, 216 restoring navigation state, 216 217 restoring session information, 217 218 state transitions, 200 activation, 201 killing, 202 launching,
More informationXamarin for C# Developers
Telephone: 0208 942 5724 Email: info@aspecttraining.co.uk YOUR COURSE, YOUR WAY - MORE EFFECTIVE IT TRAINING Xamarin for C# Developers Duration: 5 days Overview: C# is one of the most popular development
More informationPractical WPF. Learn by Working Professionals
Practical WPF Learn by Working Professionals WPF Course Division Day 1 WPF prerequisite What is WPF WPF XAML System WPF trees WPF Properties Day 2 Common WPF Controls WPF Command System WPF Event System
More informationAndroid PC Splash Brothers Design Specifications
Android PC Splash Brothers Design Specifications Contributors: Zach Bair Taronish Daruwalla Joshua Duong Anthony Nguyen 1. Technology background The Android x86 project has been in existence since 2011.
More informationvar xdoc = XDocument.Load(inStream);
Gradebook Sample App Summary: The goal of this project is to demonstrate how to share code across project types by using a Portable Class Library between a traditional Windows* Desktop application and
More informationThis document contains a general description of the MVVMStarter project, and specific guidelines for how to add a new domain class to the project.
MVVMStarter Guide This document contains a general description of the MVVMStarter project, and specific guidelines for how to add a new domain class to the project. Table of Content Introduction...2 Purpose...2
More informationTARGETPROCESS PLUGIN DEVELOPMENT GUIDE
TARGETPROCESS PLUGIN DEVELOPMENT GUIDE v.2.8 Plugin Development Guide This document describes plugins in TargetProcess and provides some usage examples. 1 PLUG IN DEVELOPMENT... 3 CORE ABSTRACTIONS...
More information10267A CS: Developing Web Applications Using Microsoft Visual Studio 2010
10267A CS: Developing Web Applications Using Microsoft Visual Studio 2010 Course Overview This instructor-led course provides knowledge and skills on developing Web applications by using Microsoft Visual
More informationModule Title : 20484C:Essentials of Developing Windows Store Apps Using C#
Module Title : 20484C:Essentials of Developing Windows Store Apps Using C# Duration : 5 days Overview About this course In this course students will learn essential programming skills and techniques that
More informationInvestigating Source Code Reusability for Android and Blackberry Applications
Investigating Source Code Reusability for Android and Blackberry Applications Group G8 Jenelle Chen Aaron Jin 1 Outline Recaps Challenges with mobile development Problem definition Approach Demo Detailed
More informationAR.04 Composite Application Guidance for WPF (aka Prism ) Brian Noyes IDesign Inc (www.idesign.net)
AR.04 Composite Application Guidance for WPF (aka Prism ) Brian Noyes IDesign Inc (www.idesign.net) brian.noyes@idesign.net About Brian Chief Architect, IDesign Inc. (www.idesign.net) Microsoft Regional
More informationPrism Composite Application Guidance
Prism Composite Application Guidance Brian Noyes www.idesign.net Prism Developed by Microsoft patterns and practices Old name: Composite Application Guidance for WPF and Silverlight Guidance for building
More informationTop 7 Lessons From My First Big Silverlight Project
Top 7 Lessons From My First Big Silverlight Project Benjamin Day Benjamin Day Consulting, Inc. Level: Intermediate/Advanced Benjamin Day Consultant, Coach, Trainer Professional Scrum Development Trainer
More informationWebspeed. I am back. Enhanced WebSpeed
Webspeed. I am back Enhanced WebSpeed OpenEdge 11.6 WebSpeed!!! Modernize your Progress OpenEdge web apps through enhanced Progress Application Server (PAS) support for WebSpeed Achieve improved performance
More informationRadGanttView For Silverlight and WPF
RadGanttView For Silverlight and WPF This tutorial will introduce RadGanttView, part of the Telerik suite of XAML controls. Setting Up The Project To begin, open Visual Studio and click on the Telerik
More informationArcGIS Viewer for Silverlight Advanced Topics
Esri International User Conference San Diego, California Technical Workshops July 26, 2012 ArcGIS Viewer for Silverlight Advanced Topics Rich Zwaap Agenda Add-ins overview Tools Behaviors Controls Layouts
More informationBuild Testable Client and Service Applications
Build Testable Client and Service Applications Brian Noyes IDesign Inc (www.idesign.net) brian.noyes@idesign.net About Brian Chief Architect IDesign Inc. (www.idesign.net) Microsoft Regional Director MVP
More informationEssentials of Developing Windows Store Apps Using C#
Essentials of Developing Windows Store Apps Using C# Course 20484A; 5 Days, Instructor-led Course Description In this course, students will learn essential programming skills and techniques that are required
More informationPrism Composite Application Guidance
Prism Composite Application Guidance Brian Noyes www.idesign.net About Brian Chief Architect IDesign Inc. (www.idesign.net) Microsoft Regional Director (www.theregion.com) Microsoft MVP Silverlight Publishing
More informationThis walkthrough assumes you have completed the Getting Started walkthrough and the first lift and shift walkthrough.
Azure Developer Immersion In this walkthrough, you are going to put the web API presented by the rgroup app into an Azure API App. Doing this will enable the use of an authentication model which can support
More informationAndroid Essentials with Java
Android Essentials with Java Before You Program o Exercise in algorithm generation Getting Started o Using IntelliJ CE Using Variables and Values o Store data in typed variables Static Methods o Write
More informationReal-Time SignalR. Overview
Real-Time SignalR Overview Real-time Web applications feature the ability to push server-side content to the connected clients as it happens, in real-time. For ASP.NET developers, ASP.NET SignalR is a
More informationArcGIS Pro SDK for.net: Asynchronous Programming and MVVM Patterns in Pro. Wolfgang Kaiser
ArcGIS Pro SDK for.net: Asynchronous Programming and MVVM Patterns in Pro Wolfgang Kaiser Session Overview Asynchronous Programming: Introduction to QueuedTask - Use of async and await - Authoring custom
More informationWpf Button Click Event Firing Multiple Times
Wpf Button Click Event Firing Multiple Times Switch back to the designer, then double-click the button again. Repeating step 3 multiple times, it seems that the caret is placed correctly on every second
More informationPro XAML with C# From Design to Deployment on WPF, Windows Store, and Windows Phone. Buddy James. Lori Lalonde
Pro XAML with C# From Design to Deployment on WPF, Windows Store, and Windows Phone Buddy James Lori Lalonde Contents J About the Authors About the Technical Reviewer Acknowledgments Introduction xiii
More informationWorkspace Desktop Edition Developer's Guide. Customize Views and Regions
Workspace Desktop Edition Developer's Guide Customize Views and Regions 11/27/2017 Customize Views and Regions Purpose: To provide information about customizable views and their regions. Contents 1 Customize
More informationDeep Dive on How ArcGIS API for JavaScript Widgets Were Built
Deep Dive on How ArcGIS API for JavaScript Widgets Were Built Matt Driscoll @driskull JC Franco @arfncode Agenda Prerequisites How we got here Our development lifecycle Widget development tips Tools we
More informationAn Introduction to Software Architecture. David Garlan & Mary Shaw 94
An Introduction to Software Architecture David Garlan & Mary Shaw 94 Motivation Motivation An increase in (system) size and complexity structural issues communication (type, protocol) synchronization data
More informationComposite Application Guidance for WPF and Silverlight (AKA Prism 2 )
Composite Application Guidance for WPF and Silverlight (AKA Prism 2 ) Brian Noyes www.idesign.net About Brian Chief Architect, IDesign Inc. (www.idesign.net) Microsoft Regional Director / MVP Publishing
More informationWindows Presentation Foundation Programming Using C#
Windows Presentation Foundation Programming Using C# Duration: 35 hours Price: $750 Delivery Option: Attend training via an on-demand, self-paced platform paired with personal instructor facilitation.
More informationComponentOne. PdfViewer for WPF and Silverlight
ComponentOne PdfViewer for WPF and Silverlight GrapeCity US GrapeCity 201 South Highland Avenue, Suite 301 Pittsburgh, PA 15206 Tel: 1.800.858.2739 412.681.4343 Fax: 412.681.4384 Website: https://www.grapecity.com/en/
More informationWorkspace Desktop Edition Developer's Guide. Best Practices for Views
Workspace Desktop Edition Developer's Guide Best Practices for Views 12/4/2017 Contents 1 Best Practices for Views 1.1 Keyboard Navigation 1.2 Branding 1.3 Localization 1.4 Parameterization 1.5 Internationalization
More informationCourse 20484: Essentials of Developing Windows Store Apps Using C#
Course 20484: Essentials of Developing Windows Store Apps Using C# Type:Course Audience(s):Developers Technology:Visual Studio Level:200 This Revision:C Delivery method: Instructor-led (classroom) Length:5
More informationAdvance Windows Phone Development. Akber Alwani Window Phone 7 Development EP.NET Professionals User Group
Advance Windows Phone Development Akber Alwani Window Phone 7 Development EP.NET Professionals User Group http://www.epdotnet.com 7 Agenda Page Navigation Application Bar and System tray Orientation-Aware
More informationPart 7 - Object Oriented Concepts Classes, Objects, Properties and Methods
Part 7 - Object Oriented Concepts Classes, Objects, Properties and Methods Object Orientated Paradigm... 2 Abstract Data Types (ADT) & Encapsulation... 3 Encapsulation... 5 Classes and Objects... 6 Methods
More informationKnOwledge
RoCk SOLiD KnOwledge http://www.rocksolidknowledge.com David Wheeler Designing UIs with the Composite Application Guidance 2009 RoCk SOLid KnOwledge 1 Agenda Background to composite applications Overview
More informationPart VIII. More classes. Philip Blakely (LSC) C++ Introduction 226 / 370
Part VIII More classes Philip Blakely (LSC) C++ Introduction 226 / 370 Inheritance Outline 29 Inheritance 30 Virtual functions 31 Polymorphism 32 Classes and static Philip Blakely (LSC) C++ Introduction
More informationBuilding Your own Widget with ArcGIS API for JavaScript
Building Your own Widget with ArcGIS API for JavaScript Matt Driscoll @driskull JC Franco @arfncode Agenda About Widgets Prerequisites Widget framework Theming DO IT! Tips & tricks About Widgets What?
More informationComputer Science II. OO Programming Classes Scott C Johnson Rochester Institute of Technology
Computer Science II OO Programming Classes Scott C Johnson Rochester Institute of Technology Outline Object-Oriented (OO) Programming Review Initial Implementation Constructors Other Standard Behaviors
More informationIndex. Application programming interface (API), 38. Binary Application Markup Language (BAML), 4
Index A Application programming interface (API), 38 B Binary Application Markup Language (BAML), 4 C Class under test (CUT), 65 Code-behind file, 128 Command Query Responsibility Segregation (CQRS), 36
More informationSoftware Architecture
Software Architecture Lecture 6 Event Systems Rob Pettit George Mason University SWE 443 Software Architecture Event Systems 1 previously data flow and call-return styles data flow batch sequential dataflow
More informationMicrosoft CSharp
Microsoft 70-511-CSharp Windows Apps Dev Microsoft.NET Framework 4 Download Full Version : https://killexams.com/pass4sure/exam-detail/70-511-csharp QUESTION: 59 You are developing a Windows Presentation
More informationBuilding WPF Apps with the new ArcGIS Runtime SDK for.net. Antti Kajanus Mike Branscomb
Building WPF Apps with the new ArcGIS Runtime SDK for.net Antti Kajanus Mike Branscomb Agenda ArcGIS Runtime SDK for.net Windows Desktop API Build a map Edit Search Geocoding and Routing Perform analysis
More informationBuilding Loosely Coupled XAML Client Apps with Prism
Building Loosely Coupled XAML Client Apps with Prism Brian Noyes IDesign Inc. (www.idesign.net) brian.noyes@idesign.net, @briannoyes About Brian Chief Architect IDesign Inc. (www.idesign.net) Microsoft
More informationArcGIS Pro SDK for.net: UI Design and MVVM
Esri Developer Summit March 8 11, 2016 Palm Springs, CA ArcGIS Pro SDK for.net: UI Design and MVVM Charlie Macleod, Wolf Kaiser Important Customization Patterns for the Pro SDK MVVM Hooking Pro Commands
More informationWindows 8. Rainer Stropek. System Architecture. System Architecture re of Windows Store Apps. Saves the day. software architects gmbh
System Architecture re of Windows Store Apps Rainer Stropek software architects gmbh Windows 8 System Architecture Mail Web Twitter rainer@timecockpit.comcom http://www.timecockpit.com @rstropek Saves
More informationStencil: The Time for Vanilla Web Components has Arrived
Stencil: The Time for Vanilla Web Components has Arrived Gil Fink sparxys CEO @gilfink / www.gilfink.net Typical Application Web Page Design From Design to Implementation Session List Day tabs Component
More informationEL-USB-RT API Guide V1.0
EL-USB-RT API Guide V1.0 Contents 1 Introduction 2 C++ Sample Dialog Application 3 C++ Sample Observer Pattern Application 4 C# Sample Application 4.1 Capturing USB Device Connect \ Disconnect Events 5
More informationAngular 2 and TypeScript Web Application Development
Angular 2 and TypeScript Web Application Development Course code: IJ -19 Course domain: Software Engineering Number of modules: 1 Duration of the course: 40 study 1 hours Sofia, 2016 Copyright 2003-2016
More informationArcGIS Runtime SDK for.net Getting Started. Jo Fraley
ArcGIS Runtime SDK for.net Getting Started Jo Fraley Agenda What is the ArcGIS Runtime? What s new for ArcGIS developers? ArcGIS Runtime SDK 10.2 for WPF ArcGIS Runtime SDK for.net Building Windows Store
More informationNE.15 Data Binding In Windows Presentation Foundation
NE.15 Data Binding In Windows Presentation Foundation Brian Noyes Chief Architect IDesign Inc (www.idesign.net) 1 About Brian Chief Architect, IDesignInc. (www.idesign.net) Microsoft Regional Director/MVP
More informationEINDHOVEN UNIVERSITY OF TECHNOLOGY
EINDHOVEN UNIVERSITY OF TECHNOLOGY Department of Mathematics & Computer Science Exam Programming Methods, 2IP15, Wednesday 17 April 2013, 09:00 12:00 TU/e THIS IS THE EXAMINER S COPY WITH (POSSIBLY INCOMPLETE)
More informationWhat is Polymorphism? Quotes from Deitel & Deitel s. Why polymorphism? How? How? Polymorphism Part 1
Polymorphism Part 1 What is Polymorphism? Polymorphism refers to a programming language s ability to process objects differently depending on their data type or class. Number person real complex kid adult
More informationBlissful Separation of Concerns with Model-View-ViewModel (MVVM)
Blissful Separation of Concerns with Model-View-ViewModel (MVVM) Brian Noyes Chief Architect, IDesign(www.idesign.net) brian.noyes@idesign.net, @briannoyes Level: Intermediate About Brian Chief Architect
More informationWeb Service. Development. Framework and API. Management. Strategy and Best Practices. Yong Cao The Boeing Company RROI #: CORP
RROI #: 17-00633-CORP Web Service Development Framework and API Management Strategy and Best Practices Yong Cao The Boeing Company GPDIS_2017.ppt 1 Vision: Service and Web APIs Legacy Apps COTS Web APIs
More informationUnderstanding and Documenting Web APIs
Understanding and Documenting Web APIs tekom 2017, Stuttgart, Germany Oct 24-26 2017 Anne Tarnoruder SAP Labs Israel Ltd. anne.tarnoruder@sap.com https://www.linkedin.com/in/annetarnoruder/ Part 1. Understanding
More informationExtensibility, Componentization, and Infrastructure
Extensibility, Componentization, and Infrastructure Ted Slupesky (slupesky@us.ibm.com) Copyright 2006 IBM Corp. Available under terms of the Eclipse Public License http://www.eclipse.org/legal/epl-v10.html
More informationPolymorphism Part 1 1
Polymorphism Part 1 1 What is Polymorphism? Polymorphism refers to a programming language s ability to process objects differently depending on their data type or class. Number person real complex kid
More informationEPL 603 TOPICS IN SOFTWARE ENGINEERING. Lab 6: Design Patterns
EPL 603 TOPICS IN SOFTWARE ENGINEERING Lab 6: Design Patterns Links to Design Pattern Material 1 http://www.oodesign.com/ http://www.vincehuston.org/dp/patterns_quiz.html Types of Design Patterns 2 Creational
More informationCross-Platform Mobile Platforms and Xamarin. Presented by Mir Majeed
Cross-Platform Mobile Platforms and Xamarin Presented by Mir Majeed Agenda 1. Sharing Code Among Different Platforms File-Linking into each App Project Portable Class Libraries 2. Solution Population Strategies
More informationAtelier Java - J1. Marwan Burelle. EPITA Première Année Cycle Ingénieur.
marwan.burelle@lse.epita.fr http://wiki-prog.kh405.net Plan 1 2 Plan 3 4 Plan 1 2 3 4 A Bit of History JAVA was created in 1991 by James Gosling of SUN. The first public implementation (v1.0) in 1995.
More informationCS 349 / SE 382 Design Patterns. Professor Michael Terry January 21, 2009
CS 349 / SE 382 Design Patterns Professor Michael Terry January 21, 2009 Today s Agenda More demos! Design patterns CS 349 / SE 382 / 2 Announcements Assignment 1 due Monday at 5PM! CS 349 / SE 382 / 3
More informationCHANNEL9 S WINDOWS PHONE 8.1 DEVELOPMENT FOR ABSOLUTE BEGINNERS
CHANNEL9 S WINDOWS PHONE 8.1 DEVELOPMENT FOR ABSOLUTE BEGINNERS Full Text Version of the Video Series Published April, 2014 Bob Tabor http://www.learnvisualstudio.net Contents Introduction... 2 Lesson
More informationGENESYSSOURCE. How-to Pull Your Data through the Customer. A Cross-Platform Framework Quick-Start
GENESYSSOURCE How-to Pull Your Data through the Customer A Cross-Platform Framework Quick-Start GENESYSSOURCE 22431 Antonio, Suite B160-843 Rancho Santa Margarita, Ca. 92688 +1.949.544.1900 GenesysSource.com
More informationDeveloping Native Windows Phone 7 Applications for SharePoint
Developing Native Windows Phone 7 Applications for SharePoint Steve Pietrek Cardinal Solutions About Cardinal OUR FOCUS: Enterprise Rich Internet Applications Mobile Solutions Portals & Collaboration Business
More informationThe Extensible Markup Language (XML) and Java technology are natural partners in helping developers exchange data and programs across the Internet.
1 2 3 The Extensible Markup Language (XML) and Java technology are natural partners in helping developers exchange data and programs across the Internet. That's because XML has emerged as the standard
More informationTop 40.NET Interview Questions & Answers
Top 40.NET Interview Questions & Answers 1) Explain what is.net Framework? The.Net Framework is developed by Microsoft. It provides technologies and tool that is required to build Networked Applications
More informationArcGIS Runtime SDK for.net Building Apps. Antti Kajanus David Cardella
ArcGIS Runtime SDK for.net Building Apps Antti Kajanus akajanus@esri.com David Cardella dcardella@esri.com Thank You to Our Generous Sponsor SDK Highlights High-performance 2D and 3D mapping Integration
More informationNote: This demo app created for this lab uses the Visual Studio 2015 RTM and Windows Tools SDK ver
Windows 10 UWP Hands on Lab Lab 2: Note: This demo app created for this lab uses the Visual Studio 2015 RTM and Windows Tools SDK ver 10240. 1. Select the Models folder and bring up the popup menu and
More information