Главная · Карта сайта · Поиск · Статьи · Компьютерные курсы · Обучающие программы · Открытые проекты · Веб-программирование · Создание интернет-сайта · Полезные ссылки · Глоссарий · Контакты · Декабрь 06 2016 22:48:30
Последнее опубликованное

Что такое Model-View-Controller
Pattern Model-View-Controller

Как создать свой веб-сайт
Как создать свой сайт в интернете

Разное
Статистика

Шаблоны проектирования


Измерять продуктивность программирования подсчетом строк кода — это так же, как оценивать постройку самолета по его весу.

Bill Gates

Шаблоны проектирования

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

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

Удлинитель

Смысл этого нагромождения терминов продемонстрирую на примере шаблона проектирования "посредник" (mediator). Посредником может являться кто угодно или что угодно: человек, устройство, система и т.д. – все определяется контекстом. Однако, для выделения шаблона проектирования важен лишь основной функциональный аспект всех объектов, выступающих в роли посредников – организация взаимодействия между объектами, исключая непосредственное взаимодействие этих объектов.

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

Model-View-Controller

Система шаблонов проектирования «Модель-представление-контроллер».

Естественно, что пример с посредниками на рынках и удлинителем сильно надуман, и в реальных программах роль “наблюдателей”, “посредников” и “адаптеров” зачастую играют программные компоненты взаимодействия элементов пользовательского интерфейса и компонентов бизнес - логики или, например, сервисы взаимодействия с базой данных. Угадывать шаблоны проектирования в том функционале, который вам предстоит реализовать и декомпозировать вашу программу на компоненты в соответствии с их назначением не так сложно, но для этого требуется опыт, воображение и знакомство с архитектурой “лучших представителей” прикладного программного обеспечения.

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

  • Шаблоны создания - как следует из названия, шаблоны этого класса описывают проектные решения создания экземпляров объектов.

  • Шаблоны структур или структурные шаблоны - описывают проектные решения организации взаимосвязей между экземплярами объектов различных классов.

  • Шаблоны поведения - здесь собраны проектные решения реализации различных моделей поведения объектов.
Шаблоны проектирования

Перед тем, как познакомить читателя с основными шаблонами проектирования перечисленных выше классов, хочется отметить, что удачное применение шаблонов проектирования не только делает ваш код структурированным, прозрачным и удобным для компонентного тестирования, но и легко “адресуемым”. Имеется в виду, что при обсуждении различных характеристик вашего программного продукта на основных этапах его жизненного цикла (после реализации): тестирование, оптимизация, рефакторинг кода, реинжиниринг и т.д., значения этих характеристик можно связать с качеством работы того или иного программного компонента, выполненного по определенному шаблону проектирования. Скажем по-другому, легче сформулировать причину “тормозов” подсистемы работы с базой данных, сославшись на неприемлемую работу SQL адаптера, чем пытаться объяснить логику работы алгоритма формирования, выполнения и обработки результатов SQL запросов.



Компьютерные курсы и курсы программирования
Основы программирования

Курс для начинающих программистов на C# и VB.NET.

SQL 25™

Построение SQL запросов и работа с базой данных.

C# Quick Guide™

Программирование на C#. Краткое руководство.

RegEx

Применение регулярных выражений.

Plug-in архитектура

Примеры программной Plug-in архитектуры.

XML и его расширения

Язык разметки XML и его расширения с примерами.

HTML и разметка гипертекста

Языки HTML, XHTML и CSS с примерами разметки.

Основы веб-дизайна

Основы веб-дизайна: решения типовых задач верстки.

Программирование на PHP

Руководство по программированию на PHP для начинающих.

Справочные материалы

Шаблоны проектирования
Каталог шаблонов проектирования программных компонентов.

Рефакторинг кода
Каталог приемов рефакторинга программного кода.

Гость
Имя

Пароль



Забыли пароль?
Запросите новый здесь
.
Coding Craft. Все права защищены © 2011. Проект Инициативного Народного Фронта Образования - ИНФО-проект.