Параллельные алгоритмы направлены на ускорение работы приложения за счет распределения задач на разные потоки. Такой подход действительно дает существенное преимущество перед линейным выполнением задач. Но в некоторых случая можно реально ускорить параллельный код!
Читать полностью »
Рубрика «паттерны проектирования» - 7
Active Object Pattern: Повышаем производительность многопоточной системы
2012-10-21 в 4:54, admin, рубрики: c++, параллельное программирование, паттерны проектирования, Программирование, метки: параллельное программирование, паттерны проектирования, ПрограммированиеАльтернативное описание паттернов проектирования
2012-09-12 в 4:50, admin, рубрики: python, образование, паттерны проектирования, метки: python, образование, паттерны проектированияВ настоящие время, кроме знаменитой книги Э. Гамма, Р. Хелм, Р. Джонсон, Дж. Влиссидес. Приемы объектно-ориентированного проектирования. Паттерны проектирования, существует много различных источников, как по самим паттернам проектирования, так и по примерам их применения, да еще на разных языках программирования. С учетом этого и того, что во многих случаях, очень сложно различить один паттерн проектирования от другого, поскольку не всегда имеется его четкое, формальное определение, сводит в результате все положительные моменты от применения паттернов проектирования к нулю. Особенно это заметно на часто прилагаемой к примерам диаграммах на UML, поскольку они получаются малоинформативными и как бы ни о чем.
Критерии «идеального» решения
- Выбрать пример, на котором можно продемонстрировать большинство паттернов проектирования.
- Постановка задачи для примера должна быть простой, а предметная область примера всем знакомой.
- Не давать определение паттерна, раз его сложно формализовать, а показать его отличие от другого на разных решениях (паттерны ведь разные) для одной предметной области.
Альтернативное описание паттернов проектирования: facade
2012-09-05 в 4:21, admin, рубрики: python, образование, паттерны проектирования, метки: python, образование, паттерны проектированияПродолжение топика Альтернативное описание паттернов проектирования
Facade — позволяет скрыть сложность системы путем сведения всех возможных внешних вызовов к одному объекту, делегирующему их соответствующим объектам системы.
Читать полностью »
Альтернативное описание паттернов проектирования: interpreter
2012-09-05 в 4:20, admin, рубрики: python, образование, паттерны проектирования, метки: python, образование, паттерны проектированияПродолжение топика Альтернативное описание паттернов проектирования
Interpreter — решает часто встречающуюся, но подверженную изменениям, задачу.
Читать полностью »
Альтернативное описание паттернов проектирования: iterator
2012-09-05 в 4:19, admin, рубрики: python, образование, паттерны проектирования, метки: python, образование, паттерны проектированияПродолжение топика Альтернативное описание паттернов проектирования
Iterator — представляет собой объект, позволяющий получить последовательный доступ к элементам объекта-агрегата без использования описаний каждого из объектов, входящий в состав агрегации.
Читать полностью »
Альтернативное описание паттернов проектирования: abstractfactory
2012-09-05 в 4:18, admin, рубрики: python, образование, паттерны проектирования, метки: python, образование, паттерны проектированияПродолжение топика Альтернативное описание паттернов проектирования
Abstract factory — предоставляет интерфейс для создания семейств взаимосвязанных или взаимозависимых объектов, не специфицируя их конкретных классов.
Читать полностью »
[Почти]-MVC-подход к реализации пользовательского интерфейса в Delphi. Часть 3. Объекты
2012-07-10 в 5:43, admin, рубрики: Delphi, GUI, mvc, mvp, паттерны проектирования, пользовательские интерфейсы, пользовательский интерфейс, Программирование, разработка, метки: Delphi, gui, mvc, mvp, паттерны проектирования, пользовательские интерфейсы, пользовательский интерфейс
В предыдущих частях статьи (1, 2) я показал, каким образом можно организовать работу с внутренними данными приложения и пользовательским интерфейсом через одну точку входа — модель. Изменения модели автоматически отражались в пользовательском интерфейсе. При этом для упрощения в качестве модели я использовал простые property класса формы, setter которых может привести GUI интерфейс к текущему состоянию модели. В данной части статья я покажу, как интерфейс может реагировать на изменения самих объектов внутри приложения.
Читать полностью »
[Не совсем]-MVC-подход к разработке пользовательских интерфейсов в Delphi. Часть 2. Списки
2012-07-05 в 11:08, admin, рубрики: Delphi, GUI, mvc, mvp, паттерны проектирования, пользовательские интерфейсы, пользовательский интерфейс, Программирование, разработка, метки: Delphi, gui, mvc, mvp, паттерны проектирования, пользовательские интерфейсы, пользовательский интерфейс
Предыдущая статья была посвящена всего одной галочке. Пора переходить к чему-то чуть более серьезному. Сегодняшняя тема — представление списков и связь GUI-списков с внутренними данными. Статья предназначена для Delphi-разработчиков.
Читать полностью »
MVC-подход к разработке пользовательских интерфейсов в Delphi. Часть 1. Галочка
2012-07-04 в 13:13, admin, рубрики: Delphi, GUI, mvc, mvp, паттерны проектирования, пользовательские интерфейсы, пользовательский интерфейс, Программирование, разработка, метки: Delphi, gui, mvc, mvp, паттерны проектирования, пользовательские интерфейсы, пользовательский интерфейс
Не буду писать красивых предисловий, потому что статья не развлекательная, а скорее техническая. В ней я хочу кратко рассмотреть простые приемы программирования пользовательского интерфейса классических desktop-приложений в среде Delphi.
Тех немногих, кто еще пользуется этой средой разработки, прошу под кат.
Читать полностью »
Фриман и Фриман. Паттерны проектирования
2012-05-31 в 16:22, admin, рубрики: паттерны проектирования, Программирование, Проектирование и рефакторинг, рецензия
DISCLAIMER: не проматывайте этот пост только из-за того, что обзор книг – это неинтересно. Здесь будет пяток интересных цитат и ряд других полезных мыслей!
Если спросить у десяти разработчиков о паттернах проектирования и о том, какая книга является лучшим источником информации по этой теме, то 9 из 10 назовут знаменитую книгу банды четырех и будут правы. GoF – является классическим каталогом паттернов в том виде, в котором он был описан Кристофером Александером 35 лет назад и все еще остается бесценным справочником для любого программиста.
Но, как и у любого каталога (или справочника), Эрих Гамма и др. сосредотачиваются на применимости паттернов, на связях конкретного паттерна с другими, они дают примеры использования в реальных проектах, но они не учат (точнее, не акцентируют на этом внимание) тому, какие принципы объектно-ориентированного программирования эти паттерны решают; где найти ту грань, когда от паттернов лучше отказаться и не предупреждают о недостатках их чрезмерного использования.
Читать полностью »