using BotPages.Core.Context; namespace BotPages.Core.Abstractions; /// /// Фабрика адаптеров мессенджеров. /// Используется для разрешения конкретного по типу мессенджера. /// public interface IMessengerAdapterFactory { /// /// Список зарегистрированных адаптеров. /// Dictionary Adapters { get; } /// /// Зарегистрировать адаптер для указанного типа мессенджера. /// /// /// Тип мессенджера (например, "Telegram", "Slack", "VK"). /// /// /// Экземпляр адаптера, реализующий . /// /// /// Текущий экземпляр для цепочки вызовов. /// IMessengerAdapterFactory Register(string messengerType, IMessangerAdapterSetup adapter); /// /// Получить адаптер для указанного мессенджера. /// /// /// Тип мессенджера (например, "Telegram", "Slack", "VK"). /// Значение должно совпадать с . /// /// /// Экземпляр , зарегистрированный для данного типа мессенджера. /// /// /// Выбрасывается, если адаптер для указанного типа не зарегистрирован. /// IMessengerAdapter Resolve(string messengerType); }