By, Ben Dewey Senior Software Developer Tallan, Inc

Slides:



Advertisements
Similar presentations
Component-Based Software Engineering Main issues: assemble systems out of (reusable) components compatibility of components.
Advertisements

RIA 1.0 AA We need…. We need….. BBCC RIA 1.0 We need….. DDEEFFGGHHIIJJKK We need….
A guided tour of MEF in Silverlight 4 Mike Taulty Microsoft UK
An overview of… Luis Guerrero Plain Concepts
 Glenn Block  Program Manager Microsoft Corporation TL33 TL49 Related sessions.
Change the Rules Silverlight 4 – What’s New? ( part 2 ) Mike Taulty, Microsoft UK
Development of a visual studio plugin to visualize a Blocks-Graph
Managed Extensibility Framework Georges
6/2/2015Enterprise e-Support Inc.1 SoA (Service Oriented Architecture) Overview.
 Copyright 2004 Digital Enterprise Research Institute. All rights reserved. Towards Dynamic Execution Semantics in Semantic Web Services.
Accessing the Water Data of the World using Open Source Desktop GIS Enabled Software Tools (few steps forward…) Daniel P. Ames, Ph.D. P.E. Idaho State.
Getting data into Silverlight on SharePoint Neil Iversen
By, Ben Dewey Senior Software Developer Tallan, Inc.
By, Ben Dewey Senior Software Developer twentySix New York
Introducing the CUAHSI Hydrologic Information System Desktop Application (HydroDesktop) and Open Development Community Jiří Kadlec, Daniel Ames, Teva Velupillai.
By, Ben Dewey Senior Software Developer twentySix New York
Software Engineering Module 1 -Components Teaching unit 3 – Advanced development Ernesto Damiani Free University of Bozen - Bolzano Lesson 2 – Components.
Building Modular Silverlight Applications with the Managed Extensibility Framework Ben Dewey twentysix New York
Enterprise Portal Development Microsoft Dynamics AX 2009 Diwakar Bedekar
Service-Learning in Action : Your poster title here Your name(s) here Service Activities: Use this entire box to describe activities you did for your service.
September 15, 2015 Laszlo Overview. 2 Copyright (c) 2007 Laszlo Systems, Inc. Laszlo Systems: Leader in RIA Software Pioneer of Rich Internet Applications.
Microsoft Confidential ASP.NET Broadest reach Most mature dev platform Silverlight Broad reach Rich, Interactive UI WPF Richest, Interactive UI.
Chapter 1: Computing with Services Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005.
Change the Rules Silverlight 4 – A Guided Tour of MEF Mike Taulty, Microsoft UK
Rudi Grobler Session Code: WUX205.
ITF11006.NET.NET an Introduction. “This is the best time ever to be a software developer” Steve Ballmer, BUILD Conference, Anaheim, September 13 th 2011.
Silverlight Technology. Table of Contents 1.What is Silverlight Technology? 2.Silverlight Overview. 2.1 How it works 2.2 Silverlight development tools.
Jumpstart: Silverlight Presenter: Kevin Grossnicklaus November 6 th, 2010.
McGraw-Hill/Irwin Copyright © 2013 by The McGraw-Hill Companies, Inc. All rights reserved. Business Plug-In B17 Organizational Architecture Trends.
Microsoft Silverlight An Introduction. Silverlight is a cross-browser, cross-platform plug-in* * An auxiliary program that works with a software package.
Tradepoint Enterprise – Sneak Peek at Version 3.0 Power Point Template.
Visual Studio 2010 and.NET Framework 4 Training Workshop.
Visual Studio 2010 and.NET Framework 4 Training Workshop.
Tuscany: a SOA framework Jeffrey Guo Accelrys, Inc.
15.1 Graphing Exponential Functions OBJ:  To draw the graph of an exponential function  To read and interpret the graph of an exponential function.
ITF11012.NET.NET an Introduction. “This is the best time ever to be a software developer” Steve Ballmer, BUILD Conference, Anaheim, September 13 th 2011.
Josh Twist Principal Consultant, Microsoft UK
Building a real-world, Internet- scale stock trading application Naveen Prabhu Quadwave Consulting Pvt. Ltd.
Biomedical Big Data Training Collaborative biobigdata.ucsd.edu BBDTC UPDATES Biomedical Big Data Training Collaborative biobigdata.ucsd.edu.
What the heck is MEF? And why should I care? Jason Offutt Software Engineer Central Christian Church
Nikhil Kothari Software Architect Microsoft Corporation Session Code: WUX312.
Plug-in Architectures Presented by Truc Nguyen. What’s a plug-in? “a type of program that tightly integrates with a larger application to add a special.
The Canopy DataBank Database Designer Database design from components.
Chapter 1: Computing with Services Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005.
Bart J.F. De Smet Software Development Engineer Microsoft Corporation Session Code: DTL315.
Software Metric Tools Joel Keyser, Jacob Napp, Carey Norslien, Stephen Owings, Tristan Paynter.
EMEA Beat Schwegler Architect Microsoft EMEA HQ Ingo Rammer Principal Consultant thinktecture
Robert Potočnik, Microsoft Deployment za lenuhe – aka PDT.
© Copyright SELA software & Education Labs Ltd Baruch Hirsch St.Bnei Brak Israel
Microsoft Silverlight An Introduction. Silverlight is a cross-browser, cross-platform plug-in* * An auxiliary program that works with a software package.
XML 1. Chapter 8 © 2013 Pearson Education, Inc. Publishing as Prentice Hall SAMPLE XML SCHEMA (XSD) 2 Schema is a record definition, analogous to the.
Lotus Symphony Extension Model ● Jin Hua, Chen ● IBM.
ASP.NET MVC Introduction
Assorted Pieces from the Angular2 Chocolate Box
Managed Extensibility Framework
ASP.NET 3.5 Mike Ormond Developer & Platform Group Microsoft Ltd
Use Case Realization Describes a collaboration among analysis classes that shows how a specific use case is realized Consists of flow-of-events analysis,
Service Metadata Registry (COSMOS)
Glenn Block MEF in the real world Glenn Block
Service-centric Software Engineering
Silverlight Technology
Present by Andie Saizan, MCP
11/23/2018 8:30 AM BRK3037 BRK3037: Dive deep on building apps and services with the Office 365 Communications Platform David Newman Senior Program Manager.
Component-Based Software Engineering
Dependency Injection with MEF and Unity
A platform for Linked Data publishing
Overview of Silverlight 2
Dependency Injection Carolyn Schroeder May 16, 2017.
How and When to Use MEF: Too Much Is Never Enough
9/14/2019 6:51 AM © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Presentation transcript:

By, Ben Dewey Senior Software Developer Tallan, Inc

Assumptions Basic knowledge of Silverlight Model-View-ViewModel Nice to have knowledge of Loosely Coupled Application Architecture Inversion of Control Containers

Overview What is the Managed Extensibility Framework MEF Basics Export, Import, Compose Describing your exports with Metadata Loading Packages Dynamically Questions

Preface Loosely Couple Architecture Extract functionality to Interfaces Inversion of Control Containers Dependency Injection IPlugin obj = new MyPlugin(); IPlugin obj = IoC.Resolve (); public class SqlServerDataService : IDataService { } public class OracleDataService : IDataService { }

What is MEF MEF is the Managed Extensibility Framework Create based on the needs of the VS2010 team MEF Preview 9 for SL3 and In the Box for SL4 Why would you want to use it? Loosely Coupled Application Plugin Architecture Limit initial XAP download time.

MEF Basics Export Import Compose Populates the entire object graph CompositionInitializer.SatisfyImports(this); [Import] public IPlugin Plugin { get; set; } [Export(typeof(IPlugin))] public class MyPlugin : IPlugin { } [ImportMany] public IEnumerable Plugin { get; set; } [ImportingConstructor] public MyClass(IPlugin plugin) {}

Object Composition Graph MainPage MainPageVM ImageSource WatermarkText Plugins WatermarkMainPageVM RotateMainPageVM ZoomMainPageVM

Describing your Exports with Metadata Use the ExportMetadataAttribute (0-many) Binds using the Lazy object to a strongly typed interface [Export(typeof(IPlugin))] [ExportMetadata(“Order”, 1)] public class MyPlugin : IPlugin { } public interface IPluginMetadata { int Order { get; set; } }

Recomposition Imports get set whenever new Exports become available [ImportMany(AllowRecomposition=true)] public IEnumerable Shapes { get; set; }

Loading Packages Dynamically DeploymentCatalog, DeploymentCatalogService *DeploymentCatalogService is not included in System.ComponentModel.Composition, comes with the DeploymentCatalogSample Sample application DeploymentCatalogService.AddXap("MefHolidayShapes.xap"); var catalog = new DeploymentCatalog("MefHolidayShapes.xap"); catalog.DownloadCompleted += catalog_DownloadCompleted; catalog.DownloadAsync();

Links Building Extensible Rich Internet Applications with the Managed Extensibility Framework (Glenn Block)

Microsoft Design Toolbox