工厂模式
工厂模式(Factory Pattern)是一种普遍使用的设计模式,属于创建型模式。它提供了一种创建对象的最佳方法。
介绍
目的:创建对象通过子类来实现,解决了接口选择的问题。
实例:1.日志工厂类。2.线程工程类。
缺点:如果对于简单对象的创建,运用工厂模式创建相对复杂。每次添加新的部件的时候,会使项目文件变多。
实现
两张面皮加一些配菜就能组成一个汉堡,然而汉堡的种类很多。分成不同风味的汉堡包。我们现在做的是就像去点单一样,向汉堡包工厂挑选自己喜欢的汉堡,工厂就会返回我们一个汉堡包。
UML图例
具体实现
接口Hamburg:
public interface Hamburg {
void taste();
}
具体的实现类
FishHamburg:
public class FishHamburg implements Hamburg {
@Override
public void taste() {
System.out.println("Taste like fish");
}
}
BeefHamburg:
public class BeefHamburg implements Hamburg {
@Override
public void taste() {
System.out.println("Taste like beef");
}
}
工厂类:
public class HamburgFactory {
public static Hamburg getOrder(String order) {
if(null == order) {
return null;
}
if(order.equals("FishHamburg")) {
return new FishHamburg();
}
else if(order.equals("BeefHamburg")) {
return new BeefHamburg();
}
return null;
}
}
Demo:
public class FactoryDemo {
public static void main(String[] args) {
Hamburg fish = HamburgFactory.getOrder("FishHamburg");
Hamburg beef = HamburgFactory.getOrder("BeefHamburg");
fish.taste();
beef.taste();
}
}
Output
Taste like fish
Taste like beef
本文仅供学习记录之用,如有错误欢迎指正。