WPF дозволяє інтегрувати мультимедійний контент в апплікаціях. Це досягається за допомогою класів SoundPlayer, MediaPlayer, і MediaElement
среда, 16 октября 2013 г.
четверг, 29 августа 2013 г.
Знищення мусору в .NET (Garbage collection)
Ця тема відноситься до фундаментальних, тема яку дуже часто питають на співбесідах і в принципі вона досить легка але буде багато людей в силу різних обставин не знають її. Отож сьогодні я коротко постараюсь описати те як працює знищення обєктів та для чого це робиться. Я не буду вникати у все дуже глубоко а лише опишу те що знати повинен кожен іншу інформацію ви зможете знайти в інтернеті.
Створення обєктів в памяті
Нещодавно провів досить цікаву презентацію на тему управління памятью в .NET аплікаціях, чим й хочу поділитись з вами в цьому пості. Через те, що тема сама по собі досить обємна, я розібю її на декілька і буду додавати їх сюди по мірі того як зявиться вільний час.
Отож сьогодні ми поговоримо про те, скільки памяті займають обєкти, де і ким вони створюються, та ще деякі цікаві особливості їх існування.
Отож сьогодні ми поговоримо про те, скільки памяті займають обєкти, де і ким вони створюються, та ще деякі цікаві особливості їх існування.
вторник, 27 августа 2013 г.
WPF. Skinning and Theming.
У WPF використовуються 4 основні механізми зміни зовнішнього вигляду аплікації:
- Styles (Стилі ) – представляють простий механізм стилізації шляхом застосування набору значень пропертей для більш ніж одного елемента. Функціонал подібний до використання CSS в HTML;
- Templates (Темплейти) – використовуються для зміни вигляду контролу, визначають візуальне представлення контролу;
- Skins (Скіни) - представляють собою специфічні колекції стилів і / або темплейтів , зазвичай з можливістю бути зміненими динамічно.
- Themes (Теми) - механізм, який дозволяє використовувати візуальні характеристики операційної системи, з можливістю змін налаштування юзером.
В дану пості будуть розглядатись Скіни і Теми.
- Styles (Стилі ) – представляють простий механізм стилізації шляхом застосування набору значень пропертей для більш ніж одного елемента. Функціонал подібний до використання CSS в HTML;
- Templates (Темплейти) – використовуються для зміни вигляду контролу, визначають візуальне представлення контролу;
- Skins (Скіни) - представляють собою специфічні колекції стилів і / або темплейтів , зазвичай з можливістю бути зміненими динамічно.
- Themes (Теми) - механізм, який дозволяє використовувати візуальні характеристики операційної системи, з можливістю змін налаштування юзером.
В дану пості будуть розглядатись Скіни і Теми.
среда, 21 августа 2013 г.
Epam IT Weekend - Distributed team and how to get success with it.
Всем привет, конечно не по теме, но решил залить свою презентацию с Epam IT Weekend которая посвящена работе в распределёных командах.
Надеюсь что вам понравиться )
Distributed team and how to get success with it
четверг, 8 августа 2013 г.
Відмінності між StaticResource і DynamicResource в WPF.
Перед тим як почати розмову про відмінності між Static Resource і Dynamic Resource в WPF слід зазаначити, що кожен об`єкт, який наслідується від класу FrameworkElement має пропертю Resources , в якій зберігається словникова колекція ресурсів (що представляє собою екземпляр класу ResourceDictionary). Ця колекція ресурсів може зберігати об'єкт будь-якого типу з індексацією по рядку.
вторник, 16 июля 2013 г.
Алгоритми. Пошук через об'єднання та швиде об'єднання
Union Find один з базових алгоритмів і він демонструє як простий алгоритм може бути використаний для досить таки серйозних задач. Отож для початку я покажу малюнок для того щоб заманити вас почитати а далі перейду до пояснень.
пятница, 7 июня 2013 г.
Генетичні алгоритми
Отож сьогоднішня тема “Генетичні алогоритми”, тема дійсно цікава особливо для людей які тільки починають вивчати алгоритми тим більше тому що цей алгоритм дозволяє покрити велику частину задач серед яких:
среда, 22 мая 2013 г.
Багатопотоковість в WPF. Використання класу BackgroundWorker.
Бувають ситуації, що в WPF апплікації потрібно виконувати ресурсоємні завдання, які споживають велику кількість часу. Виконання цих завдань в окремому потоці дозволяє підтримувати UI працездатним і доступним для введення даних .
BackgroundWorker є рекомендованим способом запуску трудомісткого завдання на окремому виділеному потоці, залишаючи UI працездатним.
BackgroundWorker є рекомендованим способом запуску трудомісткого завдання на окремому виділеному потоці, залишаючи UI працездатним.
вторник, 21 мая 2013 г.
Багатопотоковість в WPF. Dispatcher.
Під багатопотоковістю (Multithreading) розуміється виконання одночасно більше одного блоку коду. Зазвичай багатопотоковість використовується для створення більш гнучкого користувальницького інтерфейсу (UI) . Наприклад, виконання завдань, які займають багато часу в іншому потоці (завантаження файлу), що дозволяє залишити користувацький інтерфейс (UI) доступним для введення даних .
понедельник, 20 мая 2013 г.
WPF. Динамічний вибір шаблона використовуючи клас DataTemplateSelector
Буває ситуація, коли заздалегідь не знаєш, який шаблон даних необхідно підключити або в залежності від значення об'єкта потрібно використати інший шаблон даних . Для цього WPF передбачає DataTemplateSelector.
Валідація у WPF використовуючи клас Validation та інтерфейс IDataErrorInfo.
Зміст
-
Клас Validation.
-
Валідація використовуючи IDataErrorInfo.
пятница, 17 мая 2013 г.
Yield return – великі можливості маленького оператора :)
В силу того що оператор не користується великою популярність мало хто знає про те як він працює за сценою і це в свою чергу не дає нам чіткого розуміння коли його можна використати і які переваги це нам дасть … Такий собі замкнутий круг.
четверг, 16 мая 2013 г.
S.O.L.I.D
S.O.L.I.D
это аббревиатура пяти основных принципов дизайна классов в объектно-ориентированном проектировании — Single responsibility, Open-closed, Liskov substitution, Interface segregation и Dependency inversion теперь про каждый по подробнее.
GOF Patterns : Adapter vs Bridge
Adapter
- Конвертировать интерфейс одного класса к другому классу
- Обвернуть существующий код новым интерфейсом
- Использовать старые компоненты в новой системе
Bridge
- Разделить абстракцию и её имплементацию
- Создание иерархий абстракций и имплементаций
Описание проблемы
Есть текущая архитектура

которая очень плохо расширяеться

разделяем абстракции и имплементацию
Сорсы тут :)
Используем для адаптации чего либо, после имплементации.Цель
- Конвертировать интерфейс одного класса к другому классу
- Обвернуть существующий код новым интерфейсом
- Использовать старые компоненты в новой системе
Bridge
Используем для подмены имплементаций на этапе проэктированияЦель
- Разделить абстракцию и её имплементацию
- Создание иерархий абстракций и имплементаций
Описание проблемы
Есть текущая архитектура

которая очень плохо расширяеться

разделяем абстракции и имплементацию
Сорсы тут :)
Подписаться на:
Сообщения (Atom)