11. Торговые пакеты

Last modified: 07 May 2025

Чтобы полностью понять эту главу, вам необходимо сначала прочитать главы 9 и 12. Разработка больших информационных систем сопряжена с особыми трудностями. Основной способ работы с крупномасштабной системой заключается в ее декомпозиции на более мелкие системы. Это требует определенной формы архитектурного моделирования, о чем говорится в разделе A.5.

Первым организационным инструментом любой информационной системы является слоёная архитектура, рассмотренная в главе 12. Эта архитектура определяет многие пакетные подразделения системы. Однако в больших системах модель домена становится слишком большой для одного пакета. В этой главе мы рассмотрим, как можно разделить большую доменную модель. Концепции пакета и видимости (см. раздел A.5) снова используются в качестве основного инструмента для разделения. Примерами служат концепции торговли из главы 9. Первый пример рассматривает, как организовать модели сценариев и портфелей. Основная проблема заключается в наличии нескольких уровней доступа к пакету (11.1). Приложение для управления рисками использует сценарии для получения информации, необходимой для оценки портфелей. Другому приложению требуется настройка и управление сценариями. Обоим приложениям нужен доступ к типам сценариев, но им нужны разные уровни доступа. Разные клиенты, нуждающиеся в разных интерфейсах — распространенная проблема. Решения включают разрешение пакету иметь несколько протоколов и использование разных пакетов.

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

Последний паттерн исследует пакеты подтипов (11.3), рассматривая, как расположить производные, рассмотренные в главе 10, в структуре пакета. Этот паттерн иллюстрирует, что подтипы могут быть помещены в пакет отдельно от своих супертипов с видимостью от подтипа к супертипу.