Java与设计模式学习(一)--工厂方法模式FACTORY METHOD

在学习设计模式的过程中,做一些笔记,希望利己利人!

最近在做一个项目,简单介绍写背景:

我们的电子商务网站需要去集成第三方的API,客户登入系统之后,点击‘Track this item’ 链接,从而为客户显示快递当前的状态(避免链接去第三方的网站)。第三方快递公司是UPS和FedEx。

简单介绍工厂模式:

核心工厂类不负责所有产品的创建,而是将各产品的创建交给具体工厂类去做,成为一个抽象工厂的角色。

当我们在准备new一个新的对象的时候,尽量去考虑能否用工厂类实现,虽然这样可能会稍微多花费一点时间,但是对于以后功能的扩展是有好处的。

就拿我们上面的功能来说吧

1、实现一个抽象工厂类:

public interface Factory{
    DisplayableInfo processTracking(String carrier);
}

2、实现一个具体工厂类:

public class SampleFactory implements Factory{
    public DisplayableInfo processTracking(String carrier){
    if("UPS".equals(carrier){
        return UPSClient.getTrackingInfo();
    }else if("FedEx".equals(carrier){
        return FedExClient.getTrackingInfo();
    }
   }
}

这样,如果需要增加一个申通快递的话,只要增加:

else if("sto".equals(carrier)){
    return StoClient.getTrackingInfo();
}

这样可以提高代码的重用,也能使代码整体更加美观。

相关资料:http://java.chinaitlab.com/special/patterns/Index.html

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值