using System; using Abp.Events.Bus.Handlers; namespace Abp.Events.Bus.Factories { /// /// Defines an interface for factories those are responsible to create/get and release of event handlers. /// public interface IEventHandlerFactory { /// /// Gets an event handler. /// /// The event handler IEventHandler GetHandler(); /// /// Gets type of the handler (without creating an instance). /// /// Type GetHandlerType(); /// /// Releases an event handler. /// /// Handle to be released void ReleaseHandler(IEventHandler handler); } }