Рубрика «microsoft» - 175

Согласно требованиям Microsoft из популярного Linux дистрибутива пришлось удалить оригинальное изображение Skype.png из пакета Unity в Ubuntu.

Оригинальный тикет на баг-трекере гласит следующее:

Bug Description

Microsoft has requested that the skype.png be removed from this package.

Investigating it, it seems that we even didn't use that icon on the system. The launcher icon was already presenting the skype icon in the microsoft deb package. So we didn't use that one.

Смысл требования редмондской компании очевиден — нарушение условий использования торговой марки, принадлежащей компании. Но самое интересное — как видно из текста тикета — Skype.png даже не использовался в системе: сам Skype устанавливался из deb-пакета, собранного Microsoft и был, таким образом, чист от претензий. Все пакеты, в которых был включён Skype.png, уже получили исправления.

Читать полностью »

В американский спецвыпуск журнала Forbes встроили точку доступа

Помнится, на Хабре, после выхода журнала Vogue с медиаплеером, какие только статьи не появлялись. Из этого плеера только что искусственный спутник Земли не сделали, а так много чего соорудили (тут и тут). Теперь у любителей сделать все из почти ничего есть новый шанс показать себя: в американский спецвыпуск Forbes встроили точку доступа, которая работает с сетью T-Mobile.

Читать полностью »

Несколько месяцев назад не то любопытство, не то желание выделится из серой толпы владельцев iPad (хотя я сам являлся ее частью), сподвигло меня на покупку новинки от Microsoft. Surface RT казался крайне необычным и интересным устройством, которое по моему мнению было достойно внимания. Теперь с момента покупки прошло достаточно времени, чтобы можно было сформулировать точное, основанное на реальных достоинствах и недостатках устройства, мнение.
image
Я активно использовал Surface, как основной планшет для работы и отдыха, почти каждый день. Под работой я подразумеваю работу с документами и почтой, под отдыхом – просмотр фильмов и чтение новостей за утренним кофе.
Читать полностью »

Оглавление

  1. Введение
  2. Инициализация приложений Prism
  3. Управление зависимостями между компонентами
  4. Разработка модульных приложений
  5. Реализация паттерна MVVM
  6. Продвинутые сценарии MVVM
  7. Создание пользовательского интерфейса
  8. Навигация
  9. Способы коммуникации между слабосвязанными компонентами

В предыдущей главе было описано, как создать основные элементы паттерна MVVM, разделив интерфейс пользователя, логику представления и бизнес-логику в отдельные классы (представление, модель представления и модель), реализовать между ними взаимодействие (посредством привязки данных, команд и интерфейсов валидации данных), организовать их создание и настройку.

Реализация паттерна MVVM, используя эти основные элементы, скорее всего, подойдёт под большинство сценариев в вашем приложении. Однако можно встретиться с более сложными сценариями, которые требуют расширения паттерна MVVM, или применения более продвинутых методов. Это, скорее всего, произойдёт, если ваше приложение будет большим или сложным, но с этим можно встретиться и во многих небольших приложениях. Библиотека Prism предоставляет компоненты, которые реализуют многие из этих методов, позволяя вам легко использовать их в ваших собственных приложениях.

Эта глава описывает некоторые сложные сценарии и описывает, как их поддерживает паттерн MVVM. Следующий раздел показывает, как команды могут быть объединены в цепочки или связаны с дочерними представлениями, и как они могут быть расширены для поддержки пользовательских требований. Следующие разделы описывают, как обрабатывать асинхронные запросы данных и последующее взаимодействие с пользовательским интерфейсом, а также как обработать запросы взаимодействия между представлением и моделью представления.

Раздел «Продвинутое создание и настройка», дает представление о том, как создавать и настраивать компоненты при использовании контейнера внедрения зависимости, такого как Unity Application Block (Unity), или Managed Extensibility Framework (MEF). Заключительный раздел описывает, как можно протестировать приложения MVVM, и даёт представление о модульном тестировании классов модели и модели представления, а также о тестировании поведений.
Читать полностью »

Оглавление

  1. Введение
  2. Инициализация приложений Prism
  3. Управление зависимостями между компонентами
  4. Разработка модульных приложений
  5. Реализация паттерна MVVM
  6. Продвинутые сценарии MVVM
  7. Создание пользовательского интерфейса
  8. Навигация
  9. Способы коммуникации между слабосвязанными компонентами

Паттерн Model-View-ViewModel (MVVM) поможет вам разделить бизнес-логику и логику представления от его пользовательского интерфейса. Поддержка разделения ответственности между логикой приложения и UI может сделать ваше приложение более лёгким для тестирования, поддержки и развития. Это может также значительно улучшить возможности повторного использования кода и позволит разработчикам и дизайнерам легче сотрудничать при разработке соответствующих частей приложения.

Используя паттерн MVVM, пользовательский интерфейс приложения, логика представления и бизнес-логика разделяются на три отдельных класса: представление, которое инкапсулирует UI и его логику; модель представления, которая инкапсулирует логику представления и её состояния; и модель, которая инкапсулирует бизнес-логику приложения и данные.

Prism включает примеры и образцы реализации, которые показывают, как реализовать шаблон MVVM в Silverlight или в WPF приложениях. Библиотека Prism также предоставляет функции, которые могут помочь реализовать данный паттерн. Эти функции воплощают наиболее распространенные методы для реализации паттерна MVVM и разработаны, чтобы обеспечить тестируемость и совместимость с Expression Blend и Visual Studio.

Эта глава даёт краткий обзор паттерна MVVM и описывает, как его реализовать. Глава 6 описывает, как реализовать более сложные сценарии MVVM, используя библиотеку Prism.

Обязанности и характеристики классов

Паттерн MVVM является близкой разновидностью паттерна Presentation Model, оптимизированного для лучшего согласования с некоторыми базовыми возможностями WPF и Silverlight, такими как привязка данных, шаблоны данных, команды, и поведения.

В паттерне MVVM представление инкапсулирует UI и любую логику UI, модель представления инкапсулирует логику представления и её состояния, и модель инкапсулирует бизнес-логику и данные. Представление взаимодействует с моделью представления посредством привязки данных, команд и событий уведомления. Модель представления запрашивает данные у модели, или подписываться на уведомления об их изменении, и координирует обновления состояния модели, а также преобразует, валидирует и агрегирует при необходимости данные, для отображения их в представлении.

Следующая иллюстрация показывает три части шаблона MVVM и их взаимодействие.

Классы MVVM и их взаимодействие.
Читать полностью »

Пираты XX века В 1990-х годах рынок ПО в свежеобразованной России развивался активно, но несколько однобоко: основную часть программ на ПК составляли зарубежные программы со снятой (или изначально отсутствовавшей) защитой от копирования; зачастую одни и те же отечественные умельцы переводили программу на русский язык (порой — затирая исходные копирайты), разбирались с защитой от копирования, и в итоге продавали программу по цене носителя и безо всякой поддержки. Это отличалось от современной варез-сцены, полуподпольной и целиком виртуальной: российские продавцы чужого ПО нисколько не скрывались, наоборот — они давали рекламу в журналах, выпускали вполне физические дискеты и (позднее) CD-диски, и в компьютерных магазинах ими были заставлены целые полки. Понятно, что отечественная разработка ПО в такой среде была не слишком жизнеспособна: уже упомянутый Лексикон — программа вполне достойного качества, которую свежеобразованные российские бизнесмены попытались поставить на коммерческие рельсы — покупался «легально» хорошо если одним пользователем из ста.

(Когда я только поступил на матмех, наш профессор нас предупреждал: "Даже не рассчитывайте, что в России вы сможете программированием зарабатывать себе на жизнь. Из отечественных софтверных компаний прибыль имеет только 1С, да и та лишь потому, что нормативные документы меняются каждый год, и украденная версия софта через год становится бесполезной. Наверное, это такая государственная политика по поддержке программистов — менять каждый год требования к бухгалтерии.")

Поэтому естественно, что журналы 1990-х годов активно обсуждают сложившуюся неблагоприятную для программистов ситуацию, и предлагают способы на неё повлиять. Все сходятся в том, что засилье пиратства — черта переходного периода, вызванная временным недостатком интереса западных правообладателей к российскому рынку; и что уже через несколько лет рынок ПО в России разовьётся в аналогичный европейскому. Но и сейчас, пятнадцать лет спустя, отношение обывателя к авторскому праву на ПО мало изменилось. Значит, некоторые рекомендации той поры остаются актуальными до сих пор.

В прошлый раз я пообещал опубликовать статью Ольги Усковой — ныне обладательницы стольки наград и почётных званий, что ими удалось наполнить целую статью на Википедии:

Пираты XX века Пираты XX века

(КомпьютерПресс, январь 1995)
В предлагаемой статье поднимет тему маркетинга программных продуктов в России вице-президент фирмы Cognitive Technologies О.А.Ускова.

Как продавать программы в России,

или Ягодки коммерческого директора

Полтора года назад в России бытовало представление, что программа — это такая штука, которую ученые чудаки или наивные инофирмы бесплатно предоставляют находчивым российским пользователям. Иметь лицензированную копию считалось так же стыдно, как покупать билет в общественном транспорте или соблюдать правила дорожного движения. Обсуждение психологических аспектов этой проблемы пришлось бы начинать со времен Ивана Грозного…
Читать полностью »

Оглавление

  1. Введение
  2. Инициализация приложений Prism
  3. Управление зависимостями между компонентами
  4. Разработка модульных приложений
  5. Реализация паттерна MVVM
  6. Продвинутые сценарии MVVM
  7. Создание пользовательского интерфейса
  8. Навигация
  9. Способы коммуникации между слабосвязанными компонентами

Модульное приложение является таким приложением, которое можно разделить на ряд функциональных блоков (модули), которые могут быть интегрированы в одно целое. Клиентский модуль инкапсулирует часть общей функциональности приложения и обычно представляет собой набор взаимосвязанных функциональных частей. Он может включать набор связанных компонент, таких как функции приложения, включая пользовательский интерфейс и бизнес-логику, или части инфраструктуры приложения, такие как службы уровня приложения для журналирования, или аутентификации и авторизации пользователей. Модули независимы друг от друга, но могут взаимодействовать друг с другом слабо связанным способом. Модульные приложения могут облегчить разработку, тестирование, развертывание, и расширение вашего приложения.

Например, рассмотрим персональное банковское приложение. Пользователь может получить доступ к множеству функций, таких как передача денег между учетными записями, оплата счетов, и обновление персональных данных, используя единственный пользовательский интерфейс (UI). Однако, каждая из этих функций инкапсулируется в пределах дискретного модуля. Эти модули связываются друг с другом и с системами бэкэнда, такими как серверы баз данных и веб-сервисы. Прикладные службы интегрируют различные компоненты в пределах каждого из различных модулей и обрабатывают взаимодействие с пользователем. Пользователь видит интегрированное представление, которое похоже на единственное цельное приложение.

Следующая иллюстрация показывает проект модульного приложения.

Модульное приложение
Читать полностью »

Оглавление

  1. Введение
  2. Инициализация приложений Prism
  3. Управление зависимостями между компонентами
  4. Разработка модульных приложений
  5. Реализация паттерна MVVM
  6. Продвинутые сценарии MVVM
  7. Создание пользовательского интерфейса
  8. Навигация
  9. Способы коммуникации между слабосвязанными компонентами

Приложения, основанные на библиотеке Prism, являются составными приложениями, потенциально состоящими из слабо связанных служб и компонент. Они должны взаимодействовать друг с другом так, чтобы предоставлять содержание пользовательскому интерфейсу и получать уведомления о действиях пользователя. Поскольку они слабо связаны, для обеспечения необходимой функциональности, необходим способ их взаимодействия и связи друг с другом.

Для связи всех частей воедино, Prism приложения полагаются на DI контейнер. DI контейнеры уменьшают зависимости между объектами, предоставляя способ создания экземпляров классов и управления их временем жизни в зависимости от конфигурации контейнера. При создании объектов с помощью контейнера, он инжектирует в них необходимые зависимости. Если зависимости еще не были созданы, то контейнер в начале создает их и разрешает их собственные зависимости. В некоторых случаях, сам контейнер внедряется как зависимость. Например, при использовании Unity, в модули внедряется контейнер для того, чтобы они могли зарегистрировать в нём свои представления и службы.

Есть несколько преимуществ использования контейнера:

  • Контейнер устраняет потребность для компонента определять местоположение его зависимостей или управлять временем их жизни.
  • Контейнер позволяет заменять реализации, не влияя на компоненты.
  • Контейнер облегчает тестируемость, позволяя внедрять в объекты фальшивые зависимости.
  • Контейнер упрощает обслуживание, позволяя легко добавлять к системе новые компоненты.

В контексте приложения, основанного на библиотеке Prism, есть определенные преимущества контейнера:

  • Контейнер разрешает зависимости модуля при его загрузке.
  • Контейнер используется для регистрации и создания моделей представления и представлений.
  • Контейнер может создавать модели представления и внедрять представления.
  • Контейнер внедряет службы составного приложения, такие как менеджер регионов и агрегатор событий.
  • Контейнер используется для регистрации специфичных для модуля служб со специфичной для модуля функциональностью.

Читать полностью »

Оглавление

  1. Введение
  2. Инициализация приложений Prism
  3. Управление зависимостями между компонентами
  4. Разработка модульных приложений
  5. Реализация паттерна MVVM
  6. Продвинутые сценарии MVVM
  7. Создание пользовательского интерфейса
  8. Навигация
  9. Способы коммуникации между слабосвязанными компонентами

Эта глава рассказывает о том, что нужно сделать для загрузки приложения Prism. Приложение Prism требует регистрации и конфигурации компонентов во время запуска – этот процесс известен как bootstrapping.

Что такое загрузчик (Bootstrapper)

Загрузчик является классом, ответственным за инициализацию приложения, созданного с использованием библиотеки Prism. При использовании загрузчика вы получаете больший контроль над тем, как компоненты библиотеки Prism создаются и соединяются при запуске вашего приложения. Библиотека Prism включает абстрактный базовый класс загрузчика, который может быть специализирован для использования с любым контейнером. Многие из методов в классах загрузчиков являются виртуальными. Можно переопределять эти методы для предоставления собственной их реализации.

Основные этапы процесса загрузки.
Читать полностью »

Если вы разрабатываете приложения для XAML-based платформ, таких как WPF, Silverlight, Windows Phone, или Windows Store, то Prism, определённо, сильно поможет вам упростить их разработку. После создания нескольких проектов с использованием Prism, я убедился в работоспособности такого подхода и решил подготовить перевод официального руководства Prism. Итак, часть первая, что же такое Prism.

Оглавление

  1. Введение
  2. Инициализация приложений Prism
  3. Управление зависимостями между компонентами
  4. Разработка модульных приложений
  5. Реализация паттерна MVVM
  6. Продвинутые сценарии MVVM
  7. Создание пользовательского интерфейса
  8. Навигация
  9. Способы коммуникации между слабосвязанными компонентами

Prism является руководством, разработанным для того, чтобы помочь проектировать и создавать насыщенные, гибкие и легко поддерживаемые Windows Presentation Foundation (WPF) приложения, Silverlight Rich Internet Applications (RIAs), и программы под Windows Phone 7-8, а также Windows Store приложений. Используя паттерны проектирования, которые воплощают важные принципы архитектурного дизайна, такие как разделение ответственности (Separation of Concerns, SoC) и слабая связанность (Loose coupling), Prism помогает вам проектировать и писать приложения со слабо связанными компонентами, которые могут независимо развиваться и потом объединяться в одно целое с минимальными усилиями. Этот тип приложений известен как составные приложения.

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js