我在開始寫程式的時候經常會遇到一種情況,例如更改乙個字段,或者新增乙個小功能,就會把之前的廢棄掉,重寫單獨開乙個類,然後增加變數,方法(貼上複製那種),結果就單單改了其中的乙個功能而已,耗時耗力,如果你也遇到這種情況,那麼說明非常需要學習下設計模式了。
我認為設計模式是:一種思想,一種模式,一種套路,一種解決問題的高效策略舉個生活中的列子:你需要從家去公園,雖然都是從a點到b點,但目的是著急取東西,你會用代步工具快速到達,但如果僅僅是打發時間,完全可以散步去。用代步工具和散步本身沒有絕對的對錯,只是根據當時的需求採取的策略。設計模式這種思想,就是根據你當時的需求給你提供最高效的策略。
工廠給人的印象是什麼? 你給他乙個訂單,乙個產品id,他返回乙個相應的產品給你,你不需要知道他是怎麼生產出來的,只需要乙個獲得的結果。
public inte***ce iproduct{}
public class computer : iproduct{}
public class iphone : iproduct{}
public class mac : iproduct{}
public class ipad : iproduct{}
public enum producttype
public class ******factory
break;
case producttype.iphone:
break;
case producttype.mac:
break;
case producttype.ipad:
break;
default:
");}
break;
}return tempproduct;
}}//----生產的時候
public void example******factory()
這樣進行功能的劃分更方便問題的定位,乙個類是業務邏輯,乙個類是建立product類,出現bug也可以根據現象縮小問題範圍,按照原來的寫法他們都是在乙個類中,後期**量會很大。遵循的原則:單一性原則,開閉原則 , C 設計模式從0進擊 1 簡單(靜態)工廠模式
簡單工廠模式的工廠類一般是使用靜態方法,通過接收的引數的不同來返回不同的物件例項。不修改 的話,是無法擴充套件的。include using namespace std class coperation 加法 class addoperation public coperation 減法 class...
設計模式之簡單工廠,工廠方法,抽象工廠模式 01
abstract class pizza def bake unit def box unit class greekpizza extends pizza class pepperpizza extends pizza object factory else if t.equals pepper ...
簡單理解常用設計模式(六)工廠模式
這裡說說工廠模式,其實在筆者寫完 三 常用設計原則時,部分讀者已經發現簡單工廠的不妥了,因為在簡單工廠模式下,新增功能需要新增新功能類,並且要修改工廠類的case判斷,這樣就違反了開閉原則 可以拓展但不能修改原始碼。當然開閉原則不是絕對的,也可以根據實際開發場景來決定是不是遵循,但絕大多數情況下請遵...