Книги: [Классика] [Базы данных] [Internet/WWW] [Сети] [Программирование] [UNIX] [Windows] [Безопасность] [Графика] [Software Engineering] [ERP-системы] [Hardware]
Предисловие
Данная книга не является введением в объектно-ориентированное программирование или проектирование. На эти темы есть много других хороших изданий. Предполагается, что вы достаточно хорошо владеете, по крайней мере, одним объектно-ориентированным языком программирования и имеете какой-то опыт объектно-ориентированного проектирования. Безусловно, у вас не должно возникать необходимости лезть в словарь за разъяснением терминов "тип", "полиморфизм", и вам понятно, чем "наследование интерфейса" отличается от "наследования реализации".
С другой стороны, эта книга и не научный труд, адресованный исключительно узким специалистам. Здесь говорится о паттернах проектирования и описываются простые и элегантные решения типичных задач, возникающих в объектно-ориентированном проектировании. Паттерны проектирования не появились сразу в готовом виде; многие разработчики, искавшие возможности повысить гибкость и степень пригодности к повторному использованию своих программ, приложили много усилий, чтобы поставленная цель была достигнута. В паттернах проектирования найденные решения отлиты в краткую и легко применимую на практике форму.
Для использования паттернов не нужны ни какие-то особенные возможности языка программирования, ни хитроумные приемы, поражающие воображение друзей и начальников. Все можно реализовать на стандартных объектно-ориентированных языках, хотя для этого потребуется приложить несколько больше усилий, чем в случае специализированного решения, применимого только в одной ситуации. Но эти усилия неизменно окупаются за счет большей гибкости и возможности повторного использования.
Когда вы усвоите работу с паттернами проектирования настолько, что после удачного их применения воскликнете "Arab, а не будете смотреть в сомнении на получившийся результат, ваш взгляд на объектно-ориентированное проектирование изменится раз и навсегда. Вы сможете строить более гибкие, модульные, повторно используемые и понятные конструкции, а разве не для этого вообще существует объектно-ориентированное проектирование?
Несколько слов, чтобы предупредить и одновременно подбодрить вас. Не огорчайтесь, если не все будет понятно после первого прочтения книги. Мы и сами не все понимали, когда начинали писать ее! Помните, что эта книга не из тех, которых, однажды прочитав, ставят на полку. Мы надеемся, что вы будете возвращаться к ней снова и снова, черпая идеи и ожидая вдохновения.
Мы не считаем, что набор отобранных нами паттернов полон и неизменен, он просто отражает нынешнее состояние наших мыслей о проектировании. Мы приветствуем любые замечания, будь то критика приведенных примеров, ссылки на известные способы использования, которые не упомянуты здесь, или предложения по поводу дополнительных паттернов. Вы можете писать нам на адрес издательства Addison-Wesley или на электронный адрес design-patterns@cs.uiuc.edu.
Исходные тексты всех примеров можно получить, отправив сообщение "send design pattern source" no адресу design-patterns-source@cs.uiuc.edu. А теперь также есть Web-страница http://st-www.cs.iiiuc.edu/users/patterns/DPBook/DPBook.html. на которой размещается последняя информация и обновления к книге.
Эрих Гамма, Маунтин Вью, штат Калифорния
Ричард Хелм Монреаль, Квебек
Ральф Джонсон Урбана, штат Иллинойс
Джон Влиссидес Готорн, штат Нью-Йорк
Август, 1994
Начало
Полное содержание
Введение
Заказать книгу в магазине "Мистраль"