Для дальнейшего знакомства с использованием делегатов рассмотрим пример моделирования фондовой биржи, реализованный в папке stockMarket. Модель состоит из двух модулей:
Модуль Admin (Управляющий модуль) предоставляет пользовательский интерфейс для конфигурирования и запуска модели. Кроме того, в нем реализованы операции, вызываемые моделирующей машиной.
Модуль Engine (Машинный модуль) — это и есть моделирующая машина. В данном модуле есть внутренние часы; модуль случайным образом, в соответствии с параметрами конфигурации, генерирует информацию о совершаемых сделках.
На Рисунок 5.2 показана общая архитектура модели.
Модель допускает выполнение следующих операций:
PrintTick: показывать ход часов (номер текущего шага);
PrintTrade: показывать все совершаемые сделки.
Модель содержит следующие параметры:
включить/выключить вывод информации о текущем шаге;
включить/выключить вывод информации о совершаемых сделках;