Какой бы большой ни стала программная система, у неё всегда будет граница. Она отделяет то, что находится внутри системы, от того, что находится снаружи. Разделение большой системы на несколько компонентов может принести большие преимущества, однако решение о том, как именно проводить это разделение, требует настоящего мастерства и понимания.
В таких случаях лучшим учителем обычно становится опыт. Тем не менее существуют стратегии, которые помогают разработчикам делать более правильный выбор. Чтобы понять, почему они важны, полезно спросить, что на самом деле делает граница. Хорошая граница программной системы объединяет обязанности приложения, его правила и детали, необходимые для применения этих правил. Части системы, находящиеся за пределами границы, могут взаимодействовать с тем, что внутри, только через чёткий канал.
Это означает, что умение задавать границы включает в себя оценку того, какие обязанности должны находиться вместе и какие зависимости должны существовать между ними. Правильные решения в этой области определяют, насколько легко будет понимать, изменять и поддерживать систему с течением времени.
В этой статье рассматриваются ключевые стратегии, которые помогут разработчику принимать обоснованные решения о границах систем, над которыми он работает.
Источник: ByteByteGo · Сводку подготовил HeadlinesBriefing