抽象工廠模式是工廠方法模式的公升級版本,在有多個業務品種、業務分類時,通過抽象工廠模式產生需要的物件是一種非常好的解決方式。
package com.juno.abstractfactorypattern;
// 抽象產品類
public abstract class abstractproducta
// 每個產品相同方法,不同實現
public abstract void dosomething();
}
package com.juno.abstractfactorypattern;
// 抽象產品類
public abstract class abstractproductb
// 每個產品相同方法,不同實現
public abstract void dosomething();
}
package com.juno.abstractfactorypattern;
// 產品a1的實現類
public class producta1 extends abstractproducta
}
package com.juno.abstractfactorypattern;
// 產品a1的實現類
public class producta2 extends abstractproducta
}
package com.juno.abstractfactorypattern;
// 產品a1的實現類
public class productb1 extends abstractproductb
}
package com.juno.abstractfactorypattern;
// 產品a1的實現類
public class productb2 extends abstractproductb
}
package com.juno.abstractfactorypattern;
public abstract class abstractcreatora
package com.juno.abstractfactorypattern;
public class creatora1 extends abstractcreatora
@override
public abstractproductb createproductb()
}
package com.juno.abstractfactorypattern;
public class creatora2 extends abstractcreatora
@override
public abstractproductb createproductb()
}
package com.juno.abstractfactorypattern;
//抽象工廠類,負責定義產品物件的產生
public abstract class abstractcreatorb
package com.juno.abstractfactorypattern;
public class creatorb extends abstractcreatorb catch (exception e)
return (t)product; }
@suppresswarnings("unchecked")
@override
public t createproductb(classc) catch (exception e)
return (t)product; }
}
package com.juno.abstractfactorypattern;
public class client
}
列印:
產品a1的實現方法
產品a2的實現方法
產品b1的實現方法
產品b2的實現方法
---------------------------
產品a1的實現方法
產品a2的實現方法
產品b1的實現方法
產品b2的實現方法
java設計模式學習筆記 抽象工廠模式
抽象工廠模式 此模式提供了乙個介面,用於建立相關或者依賴物件的家族,而不需要指定具體的實現類。抽象工廠模式允許客戶使用抽象介面來建立一組相關的產品,客戶類和工廠類分開,客戶需要任何產品的時候,只需要向工 廠請求即可,客戶無須修改就可以獲得新產品。這樣一來,客 戶就從具體產品中解耦。抽象工廠模式的um...
設計模式學習筆記 3 抽象工廠模式
抽象工廠模式 用簡單的話來描述一下簡單工廠,工廠方法和抽象工廠最直觀的區別 這樣說不夠直觀,下面用個例子來說明一下 抽象工廠模式是所有形態的工廠模式中最為抽象和最具一般性的一種形態。抽象工廠模式是指當有多個抽象角色時,使用的一種工廠模式。抽象工廠模式可以向客戶端提供乙個介面,使客戶端在不必指定產品的...
java設計模式 抽象工廠模式
1.概念 設計模式 一書中對於抽象工廠模式是這樣定義的 提供乙個建立一系列相關或相互依賴物件的介面,而無需指定它們具體的類。產品 plant介面 public inte ce plant 標誌介面 具體產品planta,plantb public class planta implements pl...