Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Архитектура информационных систем. Учебное пособие.pdf
Скачиваний:
0
Добавлен:
12.08.2026
Размер:
676 Кб
Скачать

компоненты должны включаться классы, изменяющиеся в разное время и по разным причинам. По сути, принцип CCP представляет собой принцип SRP, перефразированный для компонентов. Важным требова-

нием принципа согласованного изменения является то, чтобы компо-

нент не имел нескольких причин для изменения.

Так как невозможно полностью закрыть компоненты от измене-

ний, то данная цель носит исключительно стратегический характер.

Классы должны проектироваться так, чтобы они были закрыты для из-

менений, наиболее типичных из ожидаемых по опыту. Принцип CCP

развивает эту идею, предписывая объединять в один компонент только классы, закрытые для одного и того же вида изменений. То есть увели-

чивает вероятность, что изменение требований повлечёт необходимость изменения минимального количества компонентов.

С точки зрения надёжности ИС CCP даёт следующие преимущест-

ва:

умеренное число выпусков новых версий системы;

ограничение группы пользователей, затрагиваемых выпуском новой версии;

ограничение группы тестировщиков, проверяющих каждый но-

вый выпуск системы.

3.3.5. Принцип совместного повторного использования

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

вую очередь понимаются другие программные модули системы (или взаимосвязанных систем).

41

Принцип совместного повторного использования – принцип, кото-

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

чаться классы и модули, используемые совместно. Классы редко ис-

пользуются по отдельности, а многократно используемые классы взаи-

модействуют с другими классами, являющимися частью многократно используемой абстракции.

Принцип совместного повторного использования говорит не толь-

ко о том, какие классы должны включаться в компонент, но и о том, ка-

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

жет нуждаться только в одном классе из используемого компонента, но это не ослабляет зависимости. Использующий компонент все так же за-

висит от используемого компонента. Из-за этой зависимости изменение используемого компонента влечёт необходимость тех или иных изме-

нений в использующем компоненте.

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

понентов.

3.3.6. Сравнение принципов взаимосвязи компонентов

Если ИС реализует принципы REP и CCP, то это ведёт к чрезмерно высокой частоте выпусков системы. Если ИС связывает между собой

REP и CRP, то это ведёт к большому размеру обновлений компонентов за один выпуск. Если используются CCP и CRP, то это усложняет по-

вторное использование компонентов.

42

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]