工厂方法模式(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 设计