0

我經由System.IO.Ports.SerialPort如何在類庫中爲依賴注入配置StructureMap?

我想使用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_StartMain方法,我可以用它作爲入口點來配置StructureMap。但是,由於這是一個沒有單一入口點的獨立程序集,因此我無法做到這一點。

因此,我最好的方式來配置在裝配中使用StructureMap?

+4

只要保持它的建議。此時不需要涉及DI容器。容器由*應用程序*使用 - 而不是由庫來使用。 http://stackoverflow.com/questions/2045904/dependency-inject-di-friendly-library/2047657#2047657 – 2012-03-09 11:51:18

回答

0

告訴您的用戶他們應該將哪些類添加到容器中。不要忘記描述每個班級的目的。