java23種設計模式十三(連載)

本文主要介紹抽象工廠模式,和上文介紹的工廠方法模式的區別是:工廠方法模式是針對一個產品來構建,而抽象工廠模式則是針對多個產品來構建。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

相關文章
相關標籤/搜索