Задача Предположим, что мы загружаем информацию о билетах с сервиса поставщика и хотим отслеживать, какие билеты мы уже загрузили, а какие нет. Определять будем по номеру билета. Для простоты условимся, что вся остальная необходимая информация о билете укладывается в некое "описание". Агенты Для решения задачи нам понадобятся: Процессор и интерфейсы Для реализации обработчика создадим класс Processot с методом CheckTickets. Этот метод будет решать свою задачу используя модели билетов (ITicket), поставщика билетов (ITickerPrivider), и хранилища (ITicketStorage). class Processor {
. ITicketProvider ticketProvider
. ITicketStorage ticketStorage
. void CheckTickets() {
. . foreach(ITicket ticket in ticketProvider.GetTickets()) {
. . . if not ticketStorage.Exists(ticket) {
. . . . ticketStorage.Save(ticket)
. . . }
. . }
. }
} Код метода позволяет определить интерфейсы для поставщика и хранилища: interface ITicketProvider {
. ITicket[] GetTickets(