🤐 Главный секрет проектирования и архитектуры 🤐
Абсолютно все, что мы делаем в IT сводиться к 3-м функциям: (1) передача, (2) обработка и (3) хранением данных.
Мы делаем запрос на сервер и передаем с него данные на фронт.
Мы визуализируем эти данные в формах и таблицах, передавая их во внешний мир через дисплеи компьютеров, мобилок и других устройств.
А потом внешний пользователь через интерфейсы доступа (клавиатура, touch панель, переключатели) в обратную сторону передает данные в устройство.
Мы трансформируем эти данные заполняя формочки на фронте, а потом трансформируем их же на бэке.
В конце мы сохраняем эти данные в базах данных и цикл повторяется заново.
И все это работает не только в вебе:
Нажав на кнопку умной кофеварки, мы передаем команду устройству, мы трансформируем и сохраняем изменившийся бит в микроконтроллере, это дает положительный заряд на пластинку кремния, который в свою очередь активирует транзисторы, пропускающие 5-12 вольт на реле, где заряжается магнитная подушечка, происходит соединение металических контактов и по ним начинает течь 220 вольт. Наш умный кофе поступает в тупой стакан.
В итоге, абсолютно все задачи по проектированию архитектуры IT-систем сводятся к 3-м вопросам:
1. Как мы будем передавать данные?
2. Как мы будем их трансформировать?
3. И как мы будем их хранить?
Вы просто снова и снова задаете себе эти вопросы и ищите ответы. В разрезе всех участвующих систем: интерфейсов, серверов, сетей, устройств, etc.
Хороший проектировщик / архитектор не только знает как построить все эти цепочки, но знает как это сделать максимально оптимизировано и чтобы при этом на разработку не ушли годы.
P.S.
Я – бездарь и неучь и уверен, что эти мысли были сформулированы задолго до меня, поэтому предлагаю вам поправить меня, если вы не согласны с какой-либо из формулировок. Поскольку только вместе мы – сила 💪