Распределенные системы. Паттерны проектирования (Бёрнс) - страница 12

Глава 1. Введение

Паттерны в объектно-ориентированном программировании

Если появление книг Кнута стало важной вехой в теории ком-пьютерного  программирования, то  алгоритмы  —  ключевой  составляющей  его  развития.  Однако  по  мере  роста  сложности  компьютерных программ и увеличения численного состава раз-

рабатывающих их команд с единиц до сотен и тысяч стало ясно,  что языков процедурного программирования и алгоритмов уже  недостаточно  для  решения  насущных  задач.  Эти  изменения  привели  к  появлению  и  развитию  объектно-ориентированных  языков  программирования, которые  уравняли  в  правах  с  алго-ритмами данные, повторное использование и расширяемость. В  ответ  на  эти  изменения  в  компьютерном программирова-нии  изменениям  подверглись  также  паттерны  и  практики  программирования.  В  начале  и  середине  1990-х  годов  про-изошел  взрывной  рост  количества  книг  об  объектно-ориен-тированном  программировании.  Наиболее  известна  из  них  книга «банды четырех» «Приемы объектно-ориентированного  проектирования»> 1 .

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

тированного программирования в целом и интерфейсов в част-ности  появилась  возможность  реализовать  такие  паттерны  в  виде  повторно  используемых  библиотек.  Эти  библиотеки  можно написать единожды и затем многократно использовать,  экономя тем самым время и повышая надежность. Глава 1. Введение 23

Расцвет программного обеспечения с открытым исходным кодом

Делиться  исходным  кодом  с  другими  разработчиками было  принято со времен появления вычислительной техники. Фор-мальные  организации  в  поддержку  свободного  программно-го  обеспечения  существовали  с  середины  1980-х.  Но  именно 

в  конце  1990-х  —  начале  2000-х  резко  возросло  количество  разработчиков и потребителей программного обеспечения с от-крытым исходным кодом. Хотя движение open source лишь от-носительно  связано  с  разработкой  паттернов  проектирования 

распределенных систем, его заслуга состоит в том, что именно  сообщества open source показали миру: создание программного  обеспечения  в  целом  и  распределенных  систем  в  частности  —  труд коллективный.

Здесь  важно  отметить,  что  все  технологии  контейнеров,  ле-жащие  в  основе  паттернов  проектирования  из  этой  книги,  разрабатывались  и  выпускались  именно  как  программное  обеспечение с открытым исходным кодом. Ценность паттер-