复习:GoF的23种设计模式之Factory Method模式(创建型)

Factory Method模式(工厂方法)

这个模式我们有一个熟悉的名称,叫工厂模式,将生成实例的框架和实际负责生成实例的类解耦。

概念比较难理解,我大概用自己的语言总结一下,一个工厂,必然就有产品,假如就是一个大闸蟹吧,现在大闸蟹那么贵,以至于每一个大闸蟹都有一个身份验证码,由这个码我们可以查到地址、水质、健康状态等等信息。

现在有个问题,我们怎么生成这个码呢?也就是怎么生成大闸蟹这个类实例。

对于面向对象编程,我们习惯将万物化为对象,那么一个大闸蟹(Concrete Product)就是一个对象,也就是我们每生产一个大闸蟹都需要new Concrete Product 对象,再将很复杂的数据写进去,生成一个对象需要赋值很多数据。

对此,我们引入工厂模式,将这个工厂抽象为一个框架,并不负责实例的具体内容,工厂通过定义一个单独的创建对象的方法来解决,由工厂的子类实现这个方法,创建具体类型的对象。也就是创建大闸蟹由工厂统一负责,我们这些小贩没法处理。

示例代码:

public class FactoryMethodClient {
    public static void main(String[] args) {
        AbstractFactory factory = new AppleFactory();
        factory.create("优质苹果");
        factory.create("苹果");
        factory = new TVFactory();
      
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值