抽象工厂方法java实现代码及常用范围讲解

抽象工厂模式java代码的实现:

1.创建一个简单的玩具接口类

package com.weitao.abstractFactory;
/** 
 * @author 作者 weitao: 
 * @version 创建时间:2016-7-20 上午10:08:19 
 * 类说明 
 */
public interface Toy {


public void makeToy();
}


2.实现一个玩具小汽车的类

package www.weitao.simpleFactory;
/** 
 * @author 作者 weitao: 
 * @version 创建时间:2016-7-20 上午10:10:09 
 * 类说明 
 */
public class ToyCar implements Toy{


@Override
public void makeToy() {
// TODO Auto-generated method stub
System.out.println("this is toy car!");
}


}


3.实现一个玩具飞机的类

package www.weitao.simpleFactory;
/** 
 * @author 作者 weitao: 
 * @version 创建时间:2016-7-20 上午10:11:32 
 * 类说明 
 */
public class ToyPlane implements Toy{


@Override
public void makeToy() {
// TODO Auto-generated method stub
System.out.println("this is toy plane!");
}

}


4.提供一个工厂接口

package com.weitao.abstractFactory;
/** 
 * @author 作者 weitao: 
 * @version 创建时间:2016-7-20 下午1:51:46 
 * 类说明 
 */
public interface Provider {


public Toy produce();
}

5.实现一个用来生产玩具车的类

package com.weitao.abstractFactory;
/** 
 * @author 作者 weitao: 
 * @version 创建时间:2016-7-20 下午1:52:59 
 * 类说明 
 */
public class ToyCarProduce implements Provider{


@Override
public Toy produce() {
return new ToyCar();
}


}


6.实现一个用来生产玩具飞机的类

package com.weitao.abstractFactory;
/** 
 * @author 作者 weitao: 
 * @version 创建时间:2016-7-20 下午1:54:08 
 * 类说明 
 */
public class ToyPlaneProduce implements Provider{


@Override
public Toy produce() {
return new ToyPlane();
}
}


7.测试抽样工厂方法的类

package com.weitao.abstractFactory;
/** 
 * @author 作者 weitao: 
 * @version 创建时间:2016-7-20 下午1:54:08 
 * 类说明 
 */
public class ToyPlaneProduce implements Provider{


@Override
public Toy produce() {
return new ToyPlane();
}
}

即完成了抽象工厂方法的java代码编写


抽象工厂模式的作用:


1、抽象工厂模式隔离了具体类的生产,使得客户并不需要知道什么被创建。

2、当一个产品族中的多个对象被设计成一起工作时,它能保证客户端始终只使用同一个产品族中的对象。

3、增加新的具体工厂和产品族很方便,无须修改已有系统,符合“开闭原则”。



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值