What the heck is MEF? And why should I care? Jason Offutt Software Engineer Central Christian Church

Slides:



Advertisements
Similar presentations
Introduction to ASP.NET MVC
Advertisements

Using.NET Platform Note: Most of the material of these slides have been taken & extended from Nakov’s excellent overview for.NET framework, MSDN and wikipedia.
MVVM Basics with Caliburn.Micro Presented by Stefan Nuxoll, Lithium PC.
Spring, Hibernate and Web Services 13 th September 2014.
Managed Extensibility Framework Georges
Fabian Vilers Hands on ASP.NET MVC.
Improving Testability Dave Catlett Test Architect, Microsoft
Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page: Lecture.
Leveraging Enterprise Library in Your Applications Keith Elder Quicken Loans Manager, Sr. Software Engineer Microsoft MVP Keith a t keithelder dot net.
By, Ben Dewey Senior Software Developer Tallan, Inc
Discussion on Service API Design for Arena ChMS Jason Offutt Software Engineer Central Christian Church
The Event as an Object-Relational Database: Avoiding the Dependency Nightmare Christopher D. Jones Cornell University, USA.
By, Ben Dewey Senior Software Developer twentySix New York
Building Modular Silverlight Applications with the Managed Extensibility Framework Ben Dewey twentysix New York
T HE B ASICS O F S OFTWARE A RCHITECTURE F OR.NET D EVELOPERS Dan Douglas | Senior Software Developer/ Architect Blog:
Tutorial -01. Objective In this session we will discuss about : 1.What is MVC? 2.Why MVC? 3.Advantages of MVC over ASP.NET 4.ASP.NET development models.
Intro to Spring CJUG - January What is Spring? “The Spring framework provides central transaction control of various objects.” This means that any.
Dependency Injection and Model-View-Controller. Overview Inversion of Control Model-View-Controller.
Presenter - Donn Felker.  Senior Consultant for Microsoft Gold Certified Partner- Statêra.  8 years of experience in developing and architecting enterprise.
Architecture of.NET Framework .NET Framework ٭ Microsoft.NET (pronounced “dot net”) is a software component that runs on the Windows operating.
#RefreshCache Redmine Learn why RefreshCache is the community developer's new best friend. Daniel Hazelbaker Information Technology Director.
GENERAL CONCEPTS OF OOPS INTRODUCTION With rapidly changing world and highly competitive and versatile nature of industry, the operations are becoming.
Architectural Design. Recap Introduction to design Design models Characteristics of good design Design Concepts.
© 2007 by «Author»; made available under the EPL v1.0 | Date | Other Information, if necessary Eclipse SOA Tools Platform Project Eric Newcomer IONA Technologies.
Architecture-Based Runtime Software Evolution Peyman Oreizy, Nenad Medvidovic & Richard N. Taylor.
Change the Rules Silverlight 4 – A Guided Tour of MEF Mike Taulty, Microsoft UK
02/10/2015 Page 1 R. Theeuws Siemens Atea Filename: CBD_ervaring Werkgroep Component Based Developments Ervaring CBD.
Case Studies on Design Patterns Design Refinements Examples.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
Spring Framework. Spring Overview Spring is an open source layered Java/J2EE application framework Created by Rod Johnson Based on book “Expert one-on-one.
Test Driven Development Arrange, Act, Assert… Awesome Jason Offutt Software Engineer Central Christian Church
@DNNCon Don’t forget to include #DNNCon in your tweets! Effective Unit Testing for DNN James McKee Solutions Developer / Enterprise
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
Tradepoint Enterprise – Sneak Peek at Version 3.0 Power Point Template.
SE-02 COMPONENTS – WHY? Object-oriented source-level re-use of code requires same source code language. Object-oriented source-level re-use may require.
Friendly URLs are Friendly! An Arena Module for Friendly URL Management Derek Mangrum Señior Developer Central Christian Church AZ (Cccev)
Visual Studio 2010 and.NET Framework 4 Training Workshop.
Refactoring for Testability (or how I learned to stop worrying and love failing tests) Presented by Aaron Evans.
Alternative Architectures: Inversion of Control Mike Hadlow mikehadlow.blogspot.com.
Josh Twist Principal Consultant, Microsoft UK
ASP.NET in Definition: 1.ASP.NET is a web application framework developed and marketed by Microsoft to allow programmers to build dynamic web sites,
Nikhil Kothari Software Architect Microsoft Corporation Session Code: WUX312.
Java EE Patterns Dan Bugariu.  What is Java EE ?  What is a Pattern ?
CS562 Advanced Java and Internet Application Introduction to the Computer Warehouse Web Application. Java Server Pages (JSP) Technology. By Team Alpha.
Arch-1 9.Architecture. Arch-2 What’s Architecture? Description of sub-system –Components/sub-systems –Their interaction Framework for communication.
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.
Using msbuild to automate packaging Nick Airdo Software Engineer Central Christian Church Tweet using #RefreshCache.
CAS 3 Introduction and Overview. CAS2 is simple to understand 6 servlets and fewer than 10 JSPs 6 servlets and fewer than 10 JSPs auth package – where.
Personalizing Web Sites Nasrullah. Understanding Profile The ASP.NET application service that enables you to store and retrieve information about users.
Slide 1 Chapter 8 Architectural Design. Slide 2 Topics covered l System structuring l Control models l Modular decomposition l Domain-specific architectures.
Microsoft Advertising 16:9 Template Light Use the slides below to start the design of your presentation. Additional slides layouts (title slides, tile.
David Boike Presentation and source:
© Copyright SELA software & Education Labs Ltd Baruch Hirsch St.Bnei Brak Israel
Understanding Dependency Injection… and those pesky containers Miguel A. Castro Architect -
Spring Training Attune University Attune University.
Enterprise Library 3.0 Memi Lavi Solution Architect Microsoft Consulting Services Guy Burstein Senior Consultant Advantech – Microsoft Division.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Chapter 5:Architectural Design l Establishing the overall structure of a software.
Mark Seemann - Dependency Injection in .NET
Managed Extensibility Framework
ASP.NET Web Forms Vs. ASP.NET MVC ASP.NET is Microsoft’s big leap after Active Server Pages (ASP), ASP.NET provides flexible and unified web development.
Intro to Spring CJUG - January 2013.
Service-centric Software Engineering
Present by Andie Saizan, MCP
Unit Testing with xUnit.net-Part-2
Dependency Injection with MEF and Unity
Why Object-oriented Programming?
Dependency Injection Carolyn Schroeder May 16, 2017.
CMPE 135: Object-Oriented Analysis and Design March 14 Class Meeting
Community Keys key features you should know about Nick Airdo
Presentation transcript:

What the heck is MEF? And why should I care? Jason Offutt Software Engineer Central Christian Church #RefreshCache

Managed Extensibility Framework Originally an Open Source project started by Microsoft developers (mef.codeplex.com)mef.codeplex.com Now comes baked into.NET 4.0  Included in System.ComponentModel.Composition

And I should care because? It allows us to make our code more like Legos  Modular & pluggable  Encapsulated functionality  Not dependent on other components

So what can MEF do? Act as an IoC container Manage dependency injection without tons of configuration Plays match-maker for your code “You use MEF to manage a set of unknown things. You use IoC containers to mange a set of known things.” – Glenn Block (MEF project manager)

How can Arena benefit from MEF? MEF can simplify the way we do dependency injection  Less code to maintain!  No need for configuration in web.config or Arena Org Settings and Lookups  MEF will dynamically load the correct object based on the contract/interface declared at runtime  Allows for lazy-loading objects to delay expensive database calls

How can Arena benefit from MEF? Allows us to keep our components very loosely coupled Makes it easier to write testable code  Less energy required to engineer our own “seams” for unit testing. If you need a “fake” object, just use MEF to import it into your unit tests.

When can we use it? It’s baked right into.NET 4.0  When Arena supports.NET 4.0, it can be used anywhere If you’re impatient, you can download the binaries for.NET 3.5 from mef.codeplex.commef.codeplex.com

Less talking, more code!