Я создаю сборку, которую еще не разработанное приложение будет использовать для связи с устройством через System.IO.Ports.SerialPort
Я хочу использовать StructureMap для передачи интерфейса классу, которыйбудет действовать как обертка вокруг SerialPort в конструктор класса, представляющего устройство, с которым я буду общаться.
например
public interface ISerialPort
{
Handshake Handshake { get; set; }
bool IsOpen { get; }
event SerialDataReceivedEventHandler DataReceived;
void Close();
void Open();
string ReadLine();
string ReadExisting();
}
public class MyDevice
{
private readonly ISerialPort _serialPort;
public MyDevice(ISerialPort serialPort)
{
_serialPort = serialPort;
}
}
Я также собираюсь использовать этот подход для облегчения модульного тестирования.
Ранее я использовал StructureMap с веб-приложениями и приложениями для настольных компьютеров, которые имели метод Application_Start
или Main
, который я мог бы использовать в качестве точки входа для настройки StructureMap.Однако, так как это отдельная сборка без единой точки входа, я не могу сделать то же самое.
Как таковой, каков наилучший способ настройки StructureMap для использования в сборке?