среда, 22 мая 2013 г.

Багатопотоковість в WPF. Використання класу BackgroundWorker.

Бувають ситуації, що в WPF апплікації потрібно виконувати ресурсоємні завдання, які споживають велику кількість часу. Виконання цих завдань в окремому потоці дозволяє підтримувати UI працездатним і доступним для введення даних .
BackgroundWorker є рекомендованим способом запуску трудомісткого завдання на окремому виділеному потоці, залишаючи UI працездатним.

вторник, 21 мая 2013 г.

Багатопотоковість в WPF. Dispatcher.

Під багатопотоковістю (Multithreading) розуміється виконання одночасно більше одного блоку коду. Зазвичай  багатопотоковість використовується для створення більш гнучкого користувальницького інтерфейсу (UI) . Наприклад,  виконання завдань, які займають багато часу в іншому потоці (завантаження файлу), що дозволяє залишити користувацький інтерфейс (UI) доступним для введення даних .

пятница, 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
Используем для подмены имплементаций на этапе проэктирования
Цель
- Разделить абстракцию и её имплементацию
- Создание иерархий абстракций и имплементаций

Описание проблемы

Есть текущая архитектура


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



разделяем абстракции и имплементацию



Сорсы тут :)