设计模式——FACTORY
- 作者:DecaMinCow
- 博客:http://blog.youkuaiyun.com/m0_37567301
- 邮箱:decamincow#gmail.com (#->@)
使用场景
系统的产品有多于一个的产品族,而系统只消费其中某一族的产品
主要是解耦,降低后面维护成本,只需修改工厂实现,不要在各调用地方修改
示例
其实工厂模式网上一大堆例子根据不同场景各种实现方案,主要是要理解工厂模式的思想
public class Factory {
interface Shape {
void draw();
}
private Shape shape;
void setShape(Shape shape){
this.shape = shape;
}
void drawShape(){
shape.draw();
}
static class Circle implements Shape {
@Override
public void draw() {
System.out.println("draw circle");
}
}
static class Triangle implements Shape {
@Override
public void draw() {
System.out.println("draw triangle");
}
}
public static void main(String[] args) {
Factory factory = new Factory();
factory.setShape(new Circle());
factory.drawShape();
factory.setShape(new Triangle());
factory.drawShape();
}
}