我正在開發一個需要使用多種類型的FTP連接(SFTP,FTPS和當前常規的舊FTP)的項目。我使用JSch作爲SFTP和Commons Net作爲FTPS和FTP。FTP設計模式
我運行到決定如何的方式,將防止不必瞭解圖書館別人,也使更新和維護容易實現這一點的問題。目前我有一個FTP接口和類來實現每種類型的連接。我不能動搖那種一定有更好的方式的感覺,因爲這似乎只是在生產代碼和庫之間增加了一步。
是否有任何設計模式可能更適合此實現?
我正在開發一個需要使用多種類型的FTP連接(SFTP,FTPS和當前常規的舊FTP)的項目。我使用JSch作爲SFTP和Commons Net作爲FTPS和FTP。FTP設計模式
我運行到決定如何的方式,將防止不必瞭解圖書館別人,也使更新和維護容易實現這一點的問題。目前我有一個FTP接口和類來實現每種類型的連接。我不能動搖那種一定有更好的方式的感覺,因爲這似乎只是在生產代碼和庫之間增加了一步。
是否有任何設計模式可能更適合此實現?
實際上,它們都有一個通用的接口,以及適用於每個庫的適配器。
有一個共同的接口你可以從外部設置的依賴(閱讀依賴注入),和/或實現一個工廠,對於一些通用規範返回正確的實現。
您是否閱讀過關於依賴注入的這篇文章? http://martinfowler.com/articles/injection.html
Bridge Design Pattern是你所追求的。
由於它的Java,要注意這種非常靈活的,可擴展的機制:META-INF/services
因此,使用依賴注入我會創建另一個類,我可以傳遞參數,比如說一個字符串,然後將它傳回的實現我的ftp接口的特定類的實例化? – Shaded 2011-03-10 18:03:41