|
一個外部具體對象的引入,必然會給一個模塊帶來與外部模塊之間的依賴。而具體對象的創建始終是我們無法規避的。即使我們可以利用設計模式的工廠方法模式或抽象工廠封裝具體對象創建的邏輯,但卻又再次引入了具體工廠對象的創建依賴。雖然在設計上有所改進,但沒有徹底解除具體依賴,仍讓我心有戚戚焉。
以一個電子商務網站的設計為例。在該項目中要求對客戶的訂單進行管理,例如插入訂單。考慮到訪問量的關系,系統為訂單管理提供了同步和異步的方式。顯然,在實際應用中,我們需要根據具體的應用環境,決定使用這兩種方式的其中一種。由于變化非常頻繁,因而我們采取了“封裝變化”的設計思想。譬如,考慮應用Strategy模式,因為插入訂單的行為,實則就是一種插入訂單的策略。我們可以為此策略建立抽象對象,如IOrderStrategy接口。
1 public interface IOrderStrategy
2 {
3 void Insert(OrderInfo order);
4 }
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。