IProtocolServiceFactory.cs 723 Bytes
using Rcs.Domain.Entities;

namespace Rcs.Application.Services.Protocol;

/// <summary>
/// 协议服务工厂接口
/// 根据协议类型获取对应的协议服务实现
/// @author zzy
/// </summary>
public interface IProtocolServiceFactory
{
    /// <summary>
    /// 根据协议类型获取协议服务
    /// </summary>
    /// <param name="protocolType">协议类型</param>
    /// <returns>协议服务实例</returns>
    IProtocolService GetService(ProtocolType protocolType);

    /// <summary>
    /// 根据机器人实体获取协议服务
    /// </summary>
    /// <param name="robot">机器人实体</param>
    /// <returns>协议服务实例</returns>
    IProtocolService GetService(Robot robot);
}