Чтение онлайн

на главную - закладки

Жанры

97 этюдов для архитекторов программных систем
Шрифт:

Но увы, ceci n’est pas une pipe. [25]

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

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

25

«Это

не трубка» (фр.). Подпись под курительной трубкой на картине сюрреалиста Рене Магритта «Вероломство образов». — Примеч. перев.

Из чего состоит хорошая архитектура? Она является продуктом решений, которые принимаются в контексте противоречивых задач с различными приоритетами. Это означает, что самые важные решения иногда связаны не с тем, что следует включить в систему, а с тем, что из нее следует исключить. Ценность хорошей архитектуры заключается в умелом принятии решений (а ее продукт всего лишь отражает ваши намерения).

История предлагает нам немало интересных примеров влияния контекста на архитектуру. Мой любимый пример — выбор базы данных для программного обеспечения современного танка. [26] (Обычно выбор базы данных не имеет существенного значения для архитектуры системы; этот пример приводится лишь для пояснения.)

26

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

Когда пришло время выбирать базу данных, команда занялась изучением различных вариантов. Большинство баз данных оказалось способным обеспечить уровень производительности, необходимый для систем навигации и наведения на цель при быстром движении танка по пересеченной местности. Но потом команда неожиданно выяснила, что выстрел из орудия создает сильный электромагнитный импульс, который вызывает сбой бортовых систем — и, конечно, базы данных! На современном поле боя танк с неработающим программным обеспечением буквально теряет связь с внешним миром. В этом контексте решающим фактором при выборе базы данных стало время восстановления, и лучшими показателями в этом отношении обладала на тот момент InterBase, поэтому для танка Ml Abrams была в итоге выбрана именно эта база данных. [27]

27

Интересно отметить, что вследствие особенностей архитектуры InterBase база данных в процессе записи на диск всегда находится в согласованном состоянии. Это один из факторов, которые обусловливают столь быстрое восстановление базы при сбоях оборудования.

Итак, хотя технологические дебаты «X против Y» бушуют на многих форумах, все это пустая забава. Их основой часто служат отнюдь не принципиальные расхождения в техническом исполнении, а более тонкие отличия, которым пользователи отдают предпочтение при отсутствии «козырной карты» в виде определяющего контекста.

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

Биография автора приведена ранее.

Гномы, эльфы, волшебники и короли

Эван Кофски

В романе Нила Стивенсона «Cryptonomicon» [28] Рэнди Уотерхауз излагает свою классификацию рас, с которыми ему доводилось встречаться. Гномы — трудяги, корпящие над произведениями искусства во мраке своих пещер.

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

28

Нил Стивенсон «Криптономикон» (АСТ, 2006, 2007).

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

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

Архитектор указывает цель, принимая в расчет особенности всех «рас». Тогда архитектура становится руководством по поиску таких задач, которыми смогут заниматься члены команды из разных «рас», пока будут больше узнавать друг о друге. Когда проект столкнется со сложностями, команда уже будет знать, как подходить к их преодолению, потому что архитектура дала команде возможность стать одним целым.

Эван Кофски (Evan Cofsky) — программист, музыкант-любитель и заядлый мотоциклист. Он увлекся музыкой и компьютерами в колледже и продолжает увлеченно заниматься ими до сих пор. В настоящее время является штатным экспертом по языку Python в компании Virgin Charter, где в должности ведущего разработчика возглавляет команду исключительно талантливых и разносторонних людей.

Учитесь у архитекторов зданий

Кейт Брайтуэйт

Архитектура — социальный акт и материальный театр человеческой активности.

Спиро Костоф (Spiro Kostof)

Сколько найдется архитекторов программного обеспечения, считающих свою роль исключительно (или в первую очередь) технической? Разве не должны они в действительности быть посредниками и арбитрами для воюющих фракций среди заинтересованных в проекте сторон? Сколькие из них рассматривают свою работу с чисто интеллектуальной точки зрения, не уделяя должного внимания человеческому фактору?

Архитектор становится великим благодаря не столько уму, сколько чистому, чуткому сердцу.

Фрэнк Ллойд Райт (Frank Lloyd Wright)

Что в большей степени присуще архитекторам вашей организации: необузданная интеллектуальная мощь и способность помнить мельчайшие технические детали или хороший вкус, изысканность и душевная щедрость? В какой атмосфере предпочли бы работать вы сами?

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

Фрэнк Ллойд Райт
Поделиться:
Популярные книги

Архил...? 4

Кожевников Павел
4. Архил...?
Фантастика:
фэнтези
попаданцы
альтернативная история
5.50
рейтинг книги
Архил...? 4

Мятежник

Прокофьев Роман Юрьевич
4. Стеллар
Фантастика:
боевая фантастика
7.39
рейтинг книги
Мятежник

Дурашка в столичной академии

Свободина Виктория
Фантастика:
фэнтези
7.80
рейтинг книги
Дурашка в столичной академии

Котенок. Книга 3

Федин Андрей Анатольевич
3. Котенок
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Котенок. Книга 3

Аристократ из прошлого тысячелетия

Еслер Андрей
3. Соприкосновение миров
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Аристократ из прошлого тысячелетия

Печать мастера

Лисина Александра
6. Гибрид
Фантастика:
попаданцы
технофэнтези
аниме
фэнтези
6.00
рейтинг книги
Печать мастера

Господин следователь. Книга 3

Шалашов Евгений Васильевич
3. Господин следователь
Детективы:
исторические детективы
5.00
рейтинг книги
Господин следователь. Книга 3

Вернуть невесту. Ловушка для попаданки 2

Ардова Алиса
2. Вернуть невесту
Любовные романы:
любовно-фантастические романы
7.88
рейтинг книги
Вернуть невесту. Ловушка для попаданки 2

Командир Красной Армии

Поселягин Владимир Геннадьевич
1. Командир Красной Армии
Фантастика:
попаданцы
8.72
рейтинг книги
Командир Красной Армии

Рота Его Величества

Дроздов Анатолий Федорович
Новые герои
Фантастика:
боевая фантастика
8.55
рейтинг книги
Рота Его Величества

Босс Мэн

Киланд Ви
Любовные романы:
современные любовные романы
8.97
рейтинг книги
Босс Мэн

Два лика Ирэн

Ром Полина
Любовные романы:
любовно-фантастические романы
6.08
рейтинг книги
Два лика Ирэн

Не грози Дубровскому! Том III

Панарин Антон
3. РОС: Не грози Дубровскому!
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Не грози Дубровскому! Том III

Идеальный мир для Лекаря 27

Сапфир Олег
27. Лекарь
Фантастика:
аниме
фэнтези
5.00
рейтинг книги
Идеальный мир для Лекаря 27