Максим Павловский twitter: @paulousky www.maxpaulousky.com.

Презентация:



Advertisements
Похожие презентации
Введение в Managed Extensibility Framework Владимир Лисник Software Engineer M. C. Dean.
Advertisements

©Павловская Т.А. (СПбГУ ИТМО) Курс «С#. Программирование на языке высокого уровня» Павловская Т.А.
Максим Павловский
Веб-технологии и современные средства разработки УЦ ВГТУ & SoftLine Academy.
Версия сборки Номер версии сборки имеет формат major.minor.build.revision. Например, Значения major(старший), minor(младший), build (компоновка)
Проф. В.К.Толстых, Технологии разработки Internet- приложений ASP.NET приложения – Модули HTTP, фильтры, события приложения - Global.asax.
Ресурсы WPF Два типа ресурсов WPF: объектные ресурсы (object resource) – определенный.NET-объект, который можно использовать многократно; ресурсы сборки.
Наследование Наследование – это отношение является между классами. class Person { string first_name; int birth_year;... } class Student : Person { float.
1 © Luxoft Training 2012 Java: расширенные вопросы Модуль #8.
Виды проектов Visual Studio.Net 2012 предлагает различные шаблоны для ваших начальных проектов. Основные поддерживаемые языки программирования: С#, C++,
Microsoft TechDays Сергей Попов Независимый разработчик.
Язык программирования C# Дмитрий Сошников
Git fast version control system Автор:Новопашин Антон
Лекция 3 Раздел 3,1 Windows Phone Темы раздела 3.
Основы ООП и C# Работа с объектами и классами. Классы Класс специальный тип данных для описания объектов. Он определяет данные и поведение типа. Определение.
Технология удаленного доступа к объектам Remoting.
Коллекции классов Лекция 12. С помощью коллекций вместо создания структур данных программист использует готовые структуры данных, не заботясь об их реализации.
1 ©Павловская Т.А. Язык С# Курс «С#. Программирование на языке высокого уровня» Павловская Т.А.
Автоматизация сборки и модификации разнородной компьютерной документации: разработка графического интерфейса приложения и формата файлов проекта. Исполнитель:
Автоматизация сборки и модификации разнородной компьютерной документации: разработка графического интерфейса приложения и формата файлов проекта. Исполнитель:
Транксрипт:

Максим Павловский

Введён класс CompositionInitializer Позволяет инициализировать объекты в любом месте программы, используя глобальный контейнер; Класс DeploymentCatalog Реализует поддержку отложенной загрузки *.xap файлов и рекомпозиции сущностей; Класс CompositionHost Принимает на вход каталоги, которые содержат сборки для создания композиции; Класс ExportFactory Используется для многократного создания экземпляров экспортируемых сущностей;

private void ComposeContainer(){ _aс = new AggregateCatalog(); CompositionHost.Initialize(_aс); CompositionInitializer.SatisfyImports(this); } private void LoadXapFile(string url){ DeploymentCatalog catalog = new DeploymentCatalog(url); catalog.DownloadAsync(); _ac.Catalogs.Add(catalog); }

Подержка.Net 4 и Siverlight 4; Поддержка Mef контейнера; Поддержка Windows Phone 7; Динамическая загрузка xap файлов

Изменения в ссылках внешние сборки: + System.ComponentModel.Composition; + Microsoft.Practices.Prism; + Microsoft.Practices.Prism.MefExtensions; - Microsoft.Practices.Unity; - Microsoft.Practices.Composite; - Microsoft.Practices.Composite.Presentation; - Microsoft.Practices.Composite.UnityExtensions;

Изменяем namespace c Microsoft.Practices.Composite… на Microsoft.Practices.Prism… ; Убраем IUnityContainer из конструкторов и добавляем атрибут [ImportingConstructor]; Добавляем использование атрибута [Export(typeof( ))]; Существующие ViewModel наследуем от NotificationObject для упрощения работы с INotifyPropertyChanged;

Для каждого модуля добавляем атрибут [ModuleExport(typeof( ))]; Изменяем вызов RaisePropertyChanged на RaisePropertyChanged(() => ); Переписываем Bootstrapper: Перенаследуем от MefBootstrapper; Добавляем переопределённый метод ConfigureAggregateCatalog(), где регистрируем изначально доступные сборки; Инициализация модулей через каталог не меняется; Переопределяем метод InitializeShell(): Application.Current.RootVisual = (ShellView)this.Shell;

Следует избегать добавления Prism сборок в каждый *.XAP файл. Им следует выставить CopyLocal = False; Можно воспользоваться add-on к Visual Studio Xaps Minifier В ModuleCatalog следует использовать полное квалифицированное имя сборки:,, Version= , Culture=neutral, PublicKeyToken=null

Prism Managed Extensibility Framework VS2010 add-on Xaps Minifier