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

 

ЧТО ТАКОЕ АРХИТЕКТУРА ПО

Сегодня обратимся к классике, которая не стареет – это книга «Банды четырех» (Эрих Гамма, Ричард Хелм, Ральф Джонсон, Джон Влиссидес) «Design Patterns: Elements of Reusable Object-Oriented Software», написанная в 1994 году. Опытные программисты называют ее «Must have в коллекции любого ООП разработчика».
Авторы книги абстрактными утверждениями «архитектура – это самое важное, что бы это ни было», «это решения, которые вы бы хотели принять на ранних этапах проекта» четко дают понять, архитектура – это некий фундамент системы, сделанный на раннем этапе. Эта та совокупность предположений, выборов и ожиданий, которые хочется видеть в готовом программном продукте.

 

ПОЧЕМУ АРХИТЕКТУРА ПО ТАК ВАЖНА

Разрабатывая архитектуру, мы выделяем самые значимые части системы. Не забываем, что целью разработки всегда является создать такой продукт, который будет отвечать потребностям пользователя и поддерживаться (то есть с возможностью масштабировать или модифицировать систему). Если работать над продуктом, «закрыв на архитектуру глаза», то на первом этапе все даже может получаться нормально. Но впоследствии через, возможно, длительное время, может догнать неожиданный сбой, нарушающий целостность системы, и который сложно будет устранить.

Архитектура позволяет построить «скелет» приложения, протестировать его надежность и удостовериться, что все, что вы вложите в вашу систему, будет находиться на своих местах. 

Вот поэтому необходимо помнить, что благодаря продуманной архитектуре мы упрощаем себе жизнь, делая детальный план будущего проекта, имея возможность использовать готовые решения других людей, которые корпели над похожими задачами до нас и, конечно, упрощаем жизнь нашим коллегам и товарищам при работе с нашим же кодом.

Чтобы «выстроить» архитектуру ПО необходимо понимать, что такое «чистый код» и как стиль архитектуры закладывает организацию и структуру системы.

 

 

ЧИСТЫЙ КОД

Первый шаг к созданию долговечного ПО — это писать его «чисто». Чистый код – код, который легко понимать и изменять. Кончено, под словосочетанием «чистый код» имеется в виду не просто аккуратное форматирование. К сожалению, то, что код кажется хорошим, еще не значит, что он действительно таков. Чистый код пишется по некому «своду правил», который хорошо описан в книге «Чистый код» Роберта Мартина. Суть «чистого кода»  - «программное обеспечение никогда по-настоящему не закончено».

 Кстати, в 1961 года введен термин «запахи кода» - это группа правил и рекомендаций, которые определяют, когда  нужно улучшать существующий код. В книге «Дяди Боба» есть специальная глава «Запахи и эвристические правила» со списком признаков, которые следует искать в коде.

 

 

АРХИТЕКТУРНЫЕ СТИЛИ ПО

Архитектурные стили (парадигмы) можно рассматривать, как совокупностью идей и понятий (общий шаблон) при создании ПО. В книге того же Роберта Мартина «Чистая архитектура» можно найти эти парадигмы программирования:

                - «объектно-ориентированная», которая выступает инструментом архитектурных границ (наша предметная область («тема»), какие в ней объекты, классы, отношения между ними и т. д.);

                -«функциональная», которая выступает инструментом вывода данных за пределы приложений

                - «структурная» – инструмент, использующийся для написания алгоритмов.

В идеальном случае при создании продукта используются все три парадигмы, чем достигается высокая функциональность и возможность решения как можно большего количества поставленных вопросов.

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

 

Всем чистого кода и удачных проектов!

Стефни Огу

Популярні статті

Читати далі