Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
книги хакеры / Питер_Гудлиф_Ремесло_программиста_Практика_написания_хорошего_кода.pdf
Скачиваний:
16
Добавлен:
19.04.2024
Размер:
9.23 Mб
Скачать

 

 

 

 

hang

e

 

 

 

 

 

 

C

 

E

 

 

 

X

 

 

 

 

 

-

 

 

 

 

 

d

 

F

 

 

 

 

 

 

t

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

to

 

 

 

 

w Click

 

 

 

350m

 

 

 

 

w

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

.

 

 

 

 

 

.c

 

 

p

 

 

 

 

g

 

 

 

 

df

 

 

n

e

 

 

 

 

-xcha

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

Глава 14. Программная архитектураClick

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

w

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

.c

 

 

.

 

 

 

 

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

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

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

Какими качествами должна обладать архитектура?

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

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

В правильно спроектированной системе должно быть не слишком ма% ло и не слишком много компонент. Понятно, что все зависит от объема задачи. Если программа маленькая, ее архитектура может уместиться (и даже быть разработана) на одном листке – несколько модулей и про% стых связей между ними. Для крупной системы потребуется больше труда и больше листков.

Если компоненты многочисленны и мелки, то с такой архитектурой трудно работать. Это происходит, когда архитектор слишком углубля% ется в детали. Если компонент слишком мало, это означает, что каж% дому модулю поручен слишком большой объем работ; структура ста% новится нечеткой, сложной для сопровождения и расширения. Следу% ет стремиться к золотой середине.

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