Особенно меня завораживает концепция построения агентурной сети, в которой участники взаимодействуют по некоторым правилам, обмениваются через специальные "почтовые ящики", но при этом могут и не знать ничего друг о друге. Каждый агент знает только тех, кого сам завербовал. И ни один человек не знает всю сеть. Это свойство делает сеть в целом довольно устойчивой к
Примерно такие же соображения заставляют нас при проектировании информационных систем четко определять обязанности её элементов и ограничивать объем знаний отдельных компонентов системы о своих соседях. Так, когда вдруг выяснится, что отдельный компонент системы "провалился", т.е. не справился с возложенными на него обязанностями, и его нужно заменить, то это не приведет к необходимости создания новой
🤔Причем, что интересно, "в моменте" может показаться что такая декомпозиция сильно усложняет систему, заставляет вносить сложность, дополнительные препятствия туда, где, казалось бы, можно сделать обращение напрямую. Такая экономия на короткой дистанции на длительных периодах сильно подрывает такие важные характеристики системы, как"модифицируемость" и "поддерживаемость".
Значит ли это что всегда нужно проектировать системы как агентурные сети? Конечно же, нет. Все, как принято говорить у архитекторов, зависит от контекста 😆😆😆.