русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Шаблоны Java

Шаблоны Java подразумевают:

1. Интерфес или класс, который определяется как наблюдатель, может взаимодействовать с наблюдателем объектом. Должны быть методы (добавление, удаление и хотя бы один метод извещения).
2. Реализацию интерфейс наблюдателя объекта, обеспечивает работу с коллекцией наблюдателем, реализующему класс.
3. Observer -  интерфейс, с помощью которого объект наблюдает за объектом.
4. Реализацию интерфейса определенных сообщений, полученых от наблюдаемых классов.
Java.util – библиотека, содержащая класс Observable, за обектом которого могут наблюдать объекты, реазилующие инферфейс.

 

Шаблон Command

Поведенческий шаблон Command (Action, Transaction) обеспечивает обработку команды в виде объекта. Применяется, когда необходимо отделить источник запроса от объекта, отвечающего на запрос; позволяет выполнить поддержку таких операций, как отмена, ведение журнала, операций с транзакциями.

 

Шаблон Singleton

Производящий шаблон Singleton обеспечивает наличие в системе только одного экземпляра заданного класса, позволяя другим классам получать к нему доступ. Применяется, если нужен объект, доступ к которому можно осуществить из любой точки приложения, но чтобы он создавался только один раз. То есть к этому объекту должны иметь доступ все элементы приложения, но работать они должны с одним и тем же экземпляром.

 

Шаблон Worker Thread

Обрабатывающий  шаблон Worker Thread (Background Thread, Thread Pool) предназначен для улучшение пропускной способности и минимизация средней задержки при реализации параллельного выполнения.

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

Разработчик может отделить подобные задачи от приложения и воспользоваться шаблоном Worker Thread. Созданный в соответствии с этим шаблоном обработчик потока будет выбирать из очереди задачи и выполнять их в отдельном потоке. По окончании очередной задачи обработчик выбирает из очереди следующую задачу и все повторяется сначала.

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

Шаблон Worker Thread рекомендуется использовать когда:

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

 

Шаблон Observer

Поведенческий шаблон Observer предоставляет компоненту возможность гибкой рассылки сообщений зарегистрированным получателям.

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

Гибкость шаблона позволяет применять его для рассылки информации как отдельным, так и всем компонентам системы.

В соответствии с этим шаблоном, генераторы сообщений (наблюдаемые компоненты) рассылают сообщения, которые представляют события в системе. Эти события обрабатываются одним или несколькими получателями сообщений (компоненты-наблюдатели). Наблюдаемые компоненты отвечают за доставку событий всем заинтересованным наблюдателям (т.е. тем, которые установили сеансы связи). Интерфейс передачи сообщений позволяет наблюдаемым компонентам детализировать события для наблюдателей.

Если наблюдаемый объект многопоточный, он может поддерживать очередь сообщений, приоритеты сообщений, перекрытие сообщений и т.д.

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

Просмотров: 19056

Вернуться воглавление


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Полезен материал? Поделись:

Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.