本文主要介紹抽象工廠模式,和上文介紹的工廠方法模式的區別是:工廠方法模式是針對一個產品來構建,而抽象工廠模式則是針對多個產品來構建。java
下面我直接上代碼來闡述抽象工廠模式的具體實現:框架
public final class Factory { public final static Product createProduct(String name){ switch(name){ case "手機":{ return new Mobile(); } case "平板":{ return new Pad(); } case "電腦":{ return new Computer(); } } return null; } }
public abstract class Product { public abstract void execute(); }
public class Mobile extends Product { @Override public void execute() { System.out.println("這是手機!"); } }
public class Pad extends Product { @Override public void execute() { System.out.println("這是平板!"); } }
public class Computer extends Product { @Override public void execute() { System.out.println("這是電腦!"); } }
public class Client { public static void main(String[] args) { Product mobile = Factory.createProduct("手機"); mobile.execute(); Product pad = Factory.createProduct("平板"); pad.execute(); Product computer = Factory.createProduct("電腦"); computer.execute(); } }
在咱們經常使用的框架如:Sping、Hibernate等框架都大量運用了抽象工廠模式。ide
應用場景:當有多個對象須要實例化的時候,咱們就能夠考慮建立一個工廠來統一管理這些對象。
code