Архитектор по
Автор Александр Пушков задал вопрос в разделе Другие языки и технологии
Что такое архитектура в программировании? И чем собственно архитектор занимается? и получил лучший ответ
Ответ от ZZZ0oO1Z[гуру]
Человек состоит из костей, мышц, органов чувств, пищеварительной и дыхательной систем, половой системы и тп - это архитектура.
А количество и расположение родинок на пятой точке - это детали имплементации. Примерно так.
Помиомо создания архитектуры, архитектор много еще чем занимается. Обычно он - технический мозг компании, свобода действий у него большая, но цель у него - вполне понятная. Сделать так, чтоб софт был хорошим. Насколько стоит увлекаться расширяемостью софта или чем-то еще [возможно] важным - в каждом конкретном случае архитектору виднее (если повезло с архитектором). Архитектура kiss (keep it stupid, simple) зачастую важнее любого оверинжиниринга и расширяемости бывает, все зависит от задач.
Архитектура - это общее устройство кода приложения: библиотеки, модули, классы, функции и их отношения. Т. е. общее описание. А программисты пишут конкретный код в этой архитектуре.
Качественная архитектура приложения должна быть расширяемой. т. е. позволять добавлять новые части.
На пальцах: архитектура приложения - это принципы, по которым живёт и развивается это приложение или даже программно аппаратный комплекс.
Архитекторы собственно говоря и занимаются тем, что формулируют, корректируют и следят за соблюдением этих правил. Работа архитектора - это документы, на основании которых принимаются решения о разработке, сроках и конкретной реализации. В том числе их читают программисты (иногда ржут, иногда плачут, но продолжают грызть кактус) .
Ни в коем случае архитекторы НЕ ДОЛЖНЫ писать код. Теоретиков опасно пускать в реализацию. Их задача объяснить ЧТО НАДО делать, а не делать самим.
Программисты для программистов - это одна из моделей разработки, при которой разработчики делятся на прикладников и системщиков. К архитектуре приложения эта модель имеет мало отношения.
Архитектура это не кракас, конечно, но также ИМХО не стратегия развития, от умных дяденек с бумагами. ИМХО архитектура, это общий план структуры: где, что, и как связано. Например: в 1-й подсистеме работаем с файлами и обработка текста, во 2-й подсистеме связь с БД, в 3-й главный интерфейс юзера, в 4-й вычисления, с отдельным интерфейсом, и тд.
Если хорошо продумано, на этапе проектирования, то система легко развивается, много лет. Но если плохо, то каждая версия, новая, более запутана, в конце уже нельзя ничего понять, вообще, и система умирает: никто уже не может дополнять и изменять разумно.