SYSTEM ATLASЗагрузка материала

Принцип сквозной реализации

End-to-End Principle

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

Простыми словами

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

Механизм действия

Сначала проверяют, есть ли исходное условие из определения. Затем смотрят, как оно влияет на структуру компонентов, потоки данных, ограничения и действия участников. Если эту связь не удаётся наблюдать, принцип не стоит использовать как готовое объяснение.

Пример в работе

Нерабочий подход

Считать подтверждение нижнего слоя доказательством того, что пользовательская операция завершена корректно.

Системный подход

Размещать полную проверку там, где известна семантика операции, а нижние слои использовать как оптимизацию.

Ограничения

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

Источник

J. H. Saltzer, D. P. Reed, D. D. Clark, “End-to-End Arguments in System Design”, 1984.

Первоисточник