我有一個電子郵件組件,我正在將其集成到我的應用程序中,尋找一些關於如何構建一個包裝的技巧,以便我可以將其與另一個第三方第三方組件如果需要。圍繞第三方組件創建一個包裝 - 交換和解耦
我的做法,現在是:
- 建立一個界面的功能,我需要。
- 創建一個實現接口的類,使用此類中的第三方組件。
該組件的任何使用將經由接口所以像:
IPop3 POP3 =新AcmeIncePop3Wrapper(); pop3.connect();
和內部AcmeIncePop3Wrapper將是:
public void connect()
{
AcmeIncePop3 pop = new AcmeIncePop3();
pop.connect();
}
這是一個好方法嗎?
我大概可以通過使用ninject添加另一個抽象,所以我可以換出實現,但真的這似乎是我需要的,因爲我不希望每天都在改變第三方程序集,只是不想使事情緊密結合。
好主意,所以我可以創建一個類似於GetPop3Object()的方法,所以我必須在一個位置更改代碼以交換實現。 – mrblah
是的,這就是主意。我不確定實現它的最佳方式是什麼。查看工廠模式以獲取更多詳細信息。 –