網絡中看到的一篇文章:策略模式與簡單工廠模式區別(轉)
而下面是我的理解:
按一般教程中出現的例子理解:
簡單工廠模式:客戶端傳一個條件進工廠類,工廠類根據條件創建相應的產品類對象,並return給客戶端,供客戶端使用。即客戶端使用的是工廠類生產的產品對象。
策略模式:客戶端創建一個Context類對象a(可以看作是工廠模式中工廠類),創建一個策略對象並傳參給對象a,然后客戶端使用a對象的某些方法來使用前面傳參進來的策略,即客戶端是通過a對象使用策略的。
簡單的說,
1、工廠模式根據條件生產出產品給客戶端用。而策略模式是客戶端使用傳參給Context的策略(你也可以理成產品),傳入策略的不同,調用同樣方法得到的結果也不同。
2、工廠模式:客戶端是使用工廠類生產的對象進行操作,策略模式:客戶端使用自己傳給Context的策略的對象進行操作。
作者:ouchuquan
出處:http://www.cnblogs.com/langtianya
本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連