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

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

MEAN> 1 ) есть свои правила установки. Но когда я говорю о паттернах, я имею в виду обобщенные схемы организа-ции распределенных систем, не зависящие от конкретных технологий или приложений.

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

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

тре приложений и программных сред.

Ценность паттернов, практик и компонентов

Прежде  чем  тратить  ценное  время  на  чтение  книги  о  набо-ре  паттернов,  которые,  с  моих  слов,  усовершенствуют ваши  подходы  к  работе,  научат  вас  новым  приемам  разработки  и — давайте посмотрим правде в глаза — изменят вашу жизнь,  имеет смысл спросить: «А зачем?» Что такого есть в паттернах  и методиках разработки, что может поменять подход к проек-

тированию и компоновке программного обеспечения? В этом  разделе я объясню, почему считаю их важными. Надеюсь, мои  доводы убедят вас прочесть книгу полностью. Стоя на плечах гигантов> 1

Начнем с того, что паттерны проектирования распределенных  систем позволяют, образно говоря, стоять на плечах гигантов.  Задачи, которые мы решаем, или системы, которые мы создаем,  нечасто становятся действительно уникальными. В конечном  итоге собранные воедино компоненты и общая бизнес-модель,  которую  позволяет  организовать  разрабатываемое  программ-ное  обеспечение,  являются  чем-то  новым.  Но  то,  как  система  построена, и те проблемы, с которыми она сталкивается в сво-ем  стремлении  быть  надежной  и  масштабируемой,  отнюдь  не  Глава 1. Введение 25

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

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

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