工廠方法模式入門案例

2021-08-20 07:45:59 字數 2153 閱讀 2971

工廠方法模式

定義乙個用於建立物件的介面,讓子類決定例項化哪乙個類。工廠方法使乙個類的例項化延遲到其子類。

工廠方法模式實現時,客戶端要決定例項化哪乙個工廠來實現運算類,選擇判斷的問題還是存在的,也就是說,工廠方法爸簡單工廠的內部邏輯判斷轉移到了客戶端**來進行,你想要增加功能,本來是改工廠類的,而現在是修改客戶端。

入門案例

package com.test.fac01;

public class user

public user(integer uid, string uname)

public integer getuid()

public void setuid(integer uid)

public string getuname()

public void setuname(string uname)

@override

public string tostring() ';

}}

package com.test.fac01;

public class people

public people(string pname, integer page)

public string getpname()

public void setpname(string pname)

public integer getpage()

public void setpage(integer page)

@override

public string tostring() ';

}}

package com.test.fac01;

public inte***ce iuser

package com.test.fac01;

public inte***ce ipeople

package com.test.fac01;

public class asessserve***ctory implements ifactory

@override

public ipeople createpeople()

}

package com.test.fac01;

public class sqlserve***ctory implements ifactory

@override

public ipeople createpeople()

}

package com.test.fac01;

public class sqlserverpeople implements ipeople

@override

public void getbypid(integer pid)

}

package com.test.fac01;

public class sqlserveruser implements iuser

/*** todo 查詢使用者

*/@override

public void getbyuid(integer uid)

}

package com.test.fac01;

public class asessserverpeople implements ipeople

@override

public void getbypid(integer pid)

}

package com.test.fac01;

public class asessserveruser implements iuser

@override

public void getbyuid(integer uid)

}

package com.test.fac01;

public class maintest

}

工廠模式之工廠方法案例

工廠方法模式 首先建立控制台應用程式專案 1.建立abstractproduct抽象產品類。在該類中定義抽象產品方法。public abstract class iabstractproduct 2.建立producta productb 兩個具體產品類。請根據工廠方法模式的內容,在兩個具體產品類中...

工廠方法模式 工廠方法模式

工廠方法模式是簡單工廠模式的公升級版,簡單工廠模式不符合設計模式的原則 即 單一職責,開閉原則 優點 職責明確,擴充套件方便 缺點 需要建立多個工廠 實現步驟 1.將工廠通用方法抽取介面 例如 ifactory 2.將產品抽取介面 例如 icar 3.實現各種產品 例如 baomacar,benti...

工廠方法模式 工廠方法模式 二

工廠方法模式是對簡單工廠的進一步抽象和封裝,需要新的類物件時不需要對既有工廠類進行修改,而是增加新的工廠類。工程類可以使用模版進一步封裝,由編譯器來生成 從而減少 編寫工作量。工廠方法的 c 實現01part產品抽象基類class animal virtual void show 0 02part產...