當前位置:編程學習大全網 - 編程軟體 - java中抽象工廠模式和原型模式之間的區別

java中抽象工廠模式和原型模式之間的區別

工廠模式的好處就在於將工廠和產品之間的耦合降低,將具體產品的構造過程放在了具體工廠類裏面。在以後擴展產品的時候方便很多,只需要添加壹個工廠類,壹個產品類,就能方便的添加產品,而不需要修改原有的代碼。而在簡單工廠中,如果要增加壹個產品,則需要修改工廠類,增加if/else分支,或者增加壹個case分支,工廠模式符合軟件開發中的OCP原則(open close principle),對擴展開放,對修改關閉。

抽象工廠模式:這個模式我總是感覺和builder模式非常相似。

工廠方法模式提供的是對壹個產品的等級模式,,而抽象工廠方法提供的是對多個產品的等級模式,註意,這裏的多個具體產品之間是相互耦合的,也就是說這裏的抽象工廠提供的產品之間是存在某種聯系的。

有人做如下的比較:

工廠方法模式:壹個抽象產品類,可以派生出多個具體產品類。

壹個抽象工廠類,可以派生出多個具體工廠類。

每個具體工廠類只能創建壹個具體產品類的實例。

抽象工廠模式:多個抽象產品類,每個抽象產品類可以派生出多個具體產品類。

壹個抽象工廠類,可以派生出多個具體工廠類。

每個具體工廠類可以創建多個具體產品類的實例。

區別:工廠方法模式只有壹個抽象產品類,而抽象工廠模式有多個。

工廠方法模式的具體工廠類只能創建壹個具體產品類的實例,而抽象工廠模式可以創建多個。

  • 上一篇:從天津武清區廊坊萬達廣場需要多少公裏
  • 下一篇:濰坊最好的中專學校有哪些 重點中專學校名單公布
  • copyright 2024編程學習大全網