一、什么是工厂方法模式?
工厂方法模式(FACTORY METHOD)是一种常用的对象创建型设计模式,此模式的核心精神是封装类中不变的部分,提取其中个性化善变的部分为独立类,通过依赖注入以达到解耦、复用和方便后期维护拓展的目的。它的核心结构有四个角色,分别是抽象工厂;具体工厂;抽象产品;具体产品
二、工厂方法模式UML
三、代码实现
Client.java
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.java
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
package com.amosli.dp.factorymethod;
public class ConcreteProductA extends Product {
@Override
void show() {
System.out.println("product A...");
}
}
ConcreteCreatorA.java
package com.amosli.dp.factorymethod;
public class ConcreteCreatorA extends Creator{
@Override
Product factoryMethod() {
return new ConcreteProductA();
}
}
本文源码:https://github.com/amosli/dp