Игра в крестики - страница 21



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

Архитектор в «Фор Лайфс Текнолоджис» занимался проектированием внутренних и внешних систем компании: изучал технические требования, пытаясь вникнуть не столько в написанное, сколько в то, что на самом деле требуется сделать. Общался с заказчиками и аналитиками, выясняя, как может измениться система в будущем, в каких частях необходима гибкость и расширяемость, а какие можно реализовать в виде «черных ящиков». Наконец, он представлял в голове всю систему: вот здесь сервис, предоставляющий API для взаимодействия, база данных, вспомогательные системы для авторизации и логирования. Далее – от общего к частному – разбирал каждый сервис, делил на модули, слои, классы и объекты. Все эти маленькие кусочки взаимодействовали совершенно по-разному: некоторые включали в себя другие, иные общались на равных. Иногда Архитектор добавлял кусочки, необходимые исключительно для организации всех маленьких частичек в единое целое: посредники, создатели, наблюдатели и уведомители. Создавался целый мир, иерархия. Это было увлекательно. Он мог часами придумывать варианты, соединяя на бумаге прямоугольники стрелочками.

Если вам понравилась книга, поддержите автора, купив полную версию по ссылке ниже.

Продолжить чтение