如何在类库中配置StructureMap以进行依赖注入?

时间:2012-03-09 11:34:23

标签: c# unit-testing dependency-injection structuremap class-library

我正在创建一个程序集,即尚未开发的应用程序将用于通过System.IO.Ports.SerialPort与设备进行通信

我想使用StructureMap将一个接口传递给一个类,该类将充当SerialPort的包装器,进入代表我将与之通信的设备的类的构造函数。

e.g。

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;
    }
}

我还打算使用这种方法来促进单元测试。

我以前使用过具有Application_StartMain方法的Web /桌面应用程序的StructureMap,我可以将其用作配置StructureMap的入口点。但是,由于这是一个没有单一入口点的独立组件,我不能这样做。

因此,配置StructureMap以在程序集中使用的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

告诉用户他们应该向容器添加哪些类。不要忘记描述每个班级的目的。