avl (avl) wrote,
avl
avl

Category:

12. Универсальных решений не существует!

(В оригинале There is no one-size-fits-all solution)

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

Словосочетание «контекстно-зависимый здравый смысл» (в оригинале “contextual sense”) было введено в оборот в книге Eberhardt Rechtin “Systems Architecting: Creating & Building Complex Systems”:

«[Центральная идея «эвристического подхода» в проектировании сложных систем] состоит в ответе на вопрос, задаваемый опытным архитекторам, что они делают, когда сталкиваются с очень сложными проблемами. Опытный архитектор ответит на этот вопрос примерно так: «Я буду использовать здравый смысл». ... Однако выражение «контекстно-зависимый здравый смысл» описывает ситуацию чуть лучше, обозначая понимание, что имеет смысл делать в том или ином контексте. Практикующие архитекторы в результате обучения, опыта и примеров из практики накапливают значительную базу «контекстно-зависимого смысла» за время, пока они вовлечены в решение системных задач – в среднем за десять лет»

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

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

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

Автор оригинала - Randy Stafford

Перевод мой. Если вы решите использовать его полностью или частично, не забудьте указать ссылку на мой живой журнал!
Tags: 97_things_architect_should_know, Программирование, Развитие
Subscribe

  • Один день на яхте

    Давно, очень давно хотелось оказаться на яхте. И вот наконец удалось реализовать мечту, пока что на 1 день. Главное — что оказалось, что никого из…

  • Подарок на 8 марта :)

    Фирма удивила, подарив 8 марта ВСЕМ сотрудникам смарт-часы от неизвестного производителя с нанесенным своим логотипом :) Да, в Словении 8 марта -…

  • Подводная лодка

    Давно не писал сюда, т.к. несмотря на отвратительный интерфейс, все переходят в фейсбук... Но все же возможность вставлять несколько фото и управлять…

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 4 comments