Читайте также:
|
|
Любая хорошо структурированная объектно-ориентированная архитектура изобилует паттернами. На самом деле, для меня одним из критериев качества объектно-ориентированной системы является то, насколько внимательно разработчики отнеслись к типичным взаимодействиям между участвующими в ней объектами. Если таким механизмам на этапе проектирования системы уделялось достаточное внимание, то архитектура получается более компактной, простой и понятной, чем в случае, когда наличие паттернов игнорировалось.
Важность паттернов при создании сложных систем давно осознана в других дисциплинах. Так, Кристофер Александр и его сотрудники, возможно, впервые предложили применять язык паттернов для архитектурного проектирования зданий и городов. Эти идеи, развитые затем другими исследователями, ныне глубоко укоренились в объектно-ориентированном проектировании. В двух словах концепция паттерна проектирования в программировании - это ключ к использованию разработчиками опыта высококвалифицированных коллег.
В данной работе излагаются принципы применения паттернов проектирования и приводится каталог таких паттернов. Тем самым книга решает сразу две задачи. Во-первых, она демонстрирует роль паттернов в проектировании архитектуры сложных систем. Во-вторых, содержит практичный справочник удачны паттернов, которые разработчик может применить в собственных приложения
Мне выпала честь работать вместе с некоторыми авторами книги над проблемами архитектурного дизайна. Я многому научился у этих людей и полагаю, что то же самое можно будет сказать и о вас, после того как вы прочтете эту книгу.
Грейди Буч,
Главный научный сотрудник Rational Software Corporation
ПредисловиеСоветы читателю
Книга состоит из двух частей. В главах 1 и 2 рассказывается, что такое паттерны проектирования и как с их помощью можно разрабатывать объектно-ориентированные программы. Практическое применение паттернов проектирования демонстрируется на примерах. Главы 3,4 и 5 - это каталог паттернов проектирования.
Каталог занимает большую часть книги. Три главы отражают деление паттернов на категории: порождающие паттерны, структурные паттерны и паттерны поведения. Каталогом можно пользоваться по-разному: читать его с начала и до конца или переходить от одного паттерна к другому. Удачен и другой путь: тщательно изучить любую главу, чтобы понять, чем отличаются тесно связанные между собой паттерны.
Ссылки между паттернами дают возможность сориентироваться в каталоге. Это также позволит уяснить, как различные паттерны связаны друг с другом, как их можно сочетать между собой и какие паттерны могут хорошо работать совместно. На рис. 1.1 связи между паттернами изображены графически.
Можно читать каталог, ориентируясь на конкретную задачу. В разделе 1.6 вы найдете описание некоторых типичных задач, возникающих при проектировании повторно используемых объектно-ориентированных программ. После этого переходите к изучению паттернов, предназначенных для решения интересующей вас задачи. Некоторые предпочитают сначала ознакомиться со всем каталогом, а потом применить те или иные паттерны.
Если ваш опыт объектно-ориентированного проектирования невелик, начните изучать самые простые и распространенные паттерны:
а абстрактная фабрика;
а адаптер;
а компоновщик;
а декоратор;
а фабричный метод;
а наблюдатель;
а стратегия;
а шаблонный метод.
Трудно найти объектно-ориентированную систему, в которой не используются хотя бы некоторые из указанных паттернов, а уж в больших системах встречаются чуть ли не все. Разобравшись с этим подмножеством, вы получите представление как о некоторых определенных паттернах, так и об объектно-ориентированном проектировании в целом.
Дата добавления: 2015-09-11; просмотров: 74 | Поможем написать вашу работу | Нарушение авторских прав |