工廠方法模式(FACTORY METHOD)是一種經常使用的對象建立型設計模式,此模式的核心精神是封裝類中不變的部分,提取其中個性化善變的部分爲獨立類,經過依賴注入以達到解耦、複用和方便後期維護拓展的目的。它的核心結構有四個角色,分別是抽象工廠;具體工廠;抽象產品;具體產品java
Client.javagit
package com.amosli.dp.factorymethod; public class Client { public static void main(String[] args) { Creator creator = new ConcreteCreatorA(); Product product = creator.factoryMethod(); product.show(); } }
Creator.javagithub
package com.amosli.dp.factorymethod; public abstract class Creator { abstract Product factoryMethod(); }
Product
設計模式
package com.amosli.dp.factorymethod; public abstract class Product { abstract void show(); }
ConcreteProductA.java
ide
package com.amosli.dp.factorymethod; public class ConcreteProductA extends Product { @Override void show() { System.out.println("product A..."); } }
ConcreteCreatorA.javaspa
package com.amosli.dp.factorymethod; public class ConcreteCreatorA extends Creator{ @Override Product factoryMethod() { return new ConcreteProductA(); } }
本文源碼:https://github.com/amosli/dp 設計