java设计模式:抽象工厂模式

来源:互联网 发布:mac air切换中文输入法 编辑:程序博客网 时间:2024/06/05 10:23

1.这个模式的好处就是,如果你现在想增加一个功能:发及时信息,则只需做一个实现类,实现Sender接口,同时做一个工厂类,实现Provider接口,就OK了,无需去改动现成的代码。这样做,拓展性较好!

示例:
/**
* @Author: Administrator
* @Date: 11:40 2017/10/27
* @Description: 抽象产品
*/
public interface Ligth {
public void turnOn();
public void turnOff();
}

//具体产品
public class BullbLight implements Ligth {
@Override
public void turnOn() {}

@Overridepublic void turnOff() {}

}

public class TubeLight implements Ligth {
@Override
public void turnOn() {}

@Overridepublic void turnOff() {}

}

/**
* @Author: Administrator
* @Date: 11:42 2017/10/27
* @Description: 抽象的工厂
*/
public interface Creator {
public Ligth factory();
}
//实现工厂模式
public class BullbCreator implements Creator {
@Override
public Ligth factory() {
return new BullbLight();

}
}

public class TubeCreator implements Creator {
@Override
public Ligth factory() {
return new TubeLight();
}
}

最后:测试代码;
public class AbsFactory {
public static void main(String[] args){
BullbCreator bullbCreator = new BullbCreator();
Ligth ligth = bullbCreator.factory();
ligth.turnOn();

}
原创粉丝点击