Сопротивление энтропии

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

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

И все же, как правило, сопровождение основано на качественных инструментах, особенно для генерирования системы. Красивая архитектура должна оставаться красивой.

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

Related posts:

  1. Автоматическое распространение
  2. Процесс дает работу

Подпишитесь на рассылку по почте:

Введите свой адрес почты, чтобы получать уведомления о новых статьях.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>