|
Будьте осторожны с метафорами |
|
|
|
|
(В оригинале - Don't Stretch The Architecture Metaphors)
Архитекторы ПО любят использовать метафоры. Метафоры предоставляют простой и понятный образ сложной и часто абстрактной темы. Будь то коммуникация с командой или обсуждение дизайна с заказчиком, заманчиво найти какой-нибудь аналог в реальном физическом мире, хорошо иллюстрирующий вашу идею того, что именно вы хотите построить.
В начале это срабатывает, люди начинают ощущать, что вещи движутся в правильном направлении. Метафоры появляются, и с течением времени начинают жить собственной жизнью. А всем кажется, что мы движемся вперед.
На самом деле в этот момент метафоры становятся опасными. Вот как это может повернуться против архитектора.
- Заказчику ваша метафора начинает нравиться больше, чем разрабатываемая вами система. Из-за этого все участники начинают все интерпретировать исходя из метафоры, не замечая реальных ограничений настоящей системы.
Пример: Мы строим транспортную систему, похожую на... корабль, перемещающийся между множеством портов. При этом вы думаете о том, что корабль будет пересекать Тихий океан, а заказчик представляет себе каноэ в бассейне.
- Команда разработки начинает думать, что метафора более важна, чем реальная бизнес-задача. Вы начинаете отстаивать странные решения из-за привязанности к метафоре.
Пример: Мы говорим, что это будет как книжный шкаф, поэтому мы должны показывать пользователю содержимое в алфавитном порядке. Я знаю, что этот книжный шкаф будет шестимерным с бесконечной шириной и встроенными часами, но остальные представят себе то, что было названо – книжный шкаф.
- Разработанная система содержит следы имен, унаследованные от старых и уже неактуальных метафор и давно переработанных концепций.
Пример: Почему объект Billing Factory создает канал для системы гребных шлюпок? Действительно ли он должен возвращать отображение граната для автовокзала? Говорите, вы тут недавно работаете?
В общем, не зацикливайтесь на метафорах, используйте их лишь для облегчения коммуникации и не позволяйте им обернуться против вас.
Автор оригинала - David Ing
|