java设计模式:工厂方法模式

1.工厂方法模式是在简单模式上的加强,它的factory模式不在是创建对象,而是把工厂抽象化一个接口,在由具体的子类去实现不同的功能.
2.使用场景:
对于某个产品,调用者清楚知道应该使用哪个具体工厂服务,实例化该具体工厂,生产出具体的产品来;只是需要一种产品,对于那个工厂生产的并不关心,最终选用哪个具体工厂由生产者一方决定,它根据当前系统的情况来实例化一个具体的工厂返回给使用者,这个决策过程对于使用者来说是透明的。

3.代码示例:
//抽象产品
public interface Light{
public void TurnOn();
public void TrunOff();
}
//具体产品
public class BullbLight implements Light{
public void TurnOn(){}
public void TrunOff(){ }
}
//具体产品
public class TubeLight implements Light{
public void TurnOn(){
}

public void TrunOff(){
}

}

//抽象工厂
public interface Creator{
public Light factory();
}
//具体工厂
public class BullbCreator implements Creator{
public Light factory(){
return new BullbLight();
}
}
//具体工厂
public class TubeCreator implements Creator{
public Light factory(){
return new TubeLight();
}
}
//测试
public class Client{
public static void main(String[] args){
Creator create = new BullbCreator();
Light bullbLight = create.factory();
bullbLight.TurnOn();

          Creator create1 = new TubeCreator();
      Light tubebLight = create.factory();
      tubebLight.TurnOn();

   }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值