Monday, February 22, 2010

Managed Extensibility Framework

MEF это новый подход разработанный Майкрософт, который позволяет загружать расширения для вашего приложения очень легко. Он позволяет обнаруживать и составлять части, которые должны быть включены в приложение, и все это во время выполнения. Вы можете расширить поведение аппликации простим добавлением новых плагинов. Managed Extensibility Framework сделает все это за вас.
«Hello MEF World!»

Допустим, мы уже имеем действительно простое приложение, и мы хотим, чтоб оно приветствовало нас с "Привет MEF мир!":

   class Program
   {
       static void Main(string[] args)
       {
           var program = new Program();
           program.Run();
       }

       private void Run()
       {
           ProgrammGreeter.SayHello();
       }

       protected IGreeter ProgrammGreeter{ get; set;}
   }


   public interface IGreeter
   {
       void SayHello();
   }

   public class Greeter:IGreeter
   {
       public void SayHello()
       {
           Console.WriteLine(«Hello MEF World!»);
       }
   }
Основная проблема заключается в имении инстанса в проперте ProgrammGreeter. У нас есть желание, чтоб это бил инстанс класса Greeter.
Давайте сделаем это с помощью MEF

Read more: habrahabr.ru

Posted via email from jasper22's posterous