Разработка программных систем Archives

Красивые архитектуры

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

 

Сопротивление энтропии

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

 

Порядок роста

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

 

Построение обобщенных решений

Если вы хотите строить хрупкие, негибкие системы, последуйте совету Айвара Якобсона (Ivar Jacobson) - заложите в основу своей архитектуры сценарии использования и реализацию только одной функции (т. е. используйте объекты-«контроллеры»). Напротив, ра...

 

Минимум механизмов

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

 

Архитектура включает построение

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

 

Автоматическое распространение

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

 

Один факт в одном месте

Дублирование ведет к ошибкам, поэтому его необходимо избегать. Каждый факт должен быть единым и неделимым и притом независимым от всех остальных фактов. При внесении изменения (а это неизбежно происходит в любой системе) достаточно исправить т...

 

Сложность наших систем

Проблемы разработки высокопроизводительных, надежных и качественных программных систем оказались слишком сложными для неформальных, несистематических технических решений, которые работали в прошлом в менее требовательных системах. Сложно...