GOF经典设计模式 - Abstract Factory 抽象工厂

GOF经典设计模式 - Abstract Factory 抽象工厂

GOF Design Pattern定义

提供一个创建一系列相关或相互依赖对象的接口,而无需指定他们具体的类。[DP]

类图

在这里插入图片描述

代码示例

创建Factory接口、产品接口

public interface Factory {

    Head getHead();

    Hand getHand();

    Foot getFoot();
}

public interface Foot {
}
public interface Hand {
}
public interface Head {

}

实现Factory,这里只贴出一个例子

public class HorseFactory implements Factory {
    public Head getHead() {
        return new HorseHead();
    }

    public Hand getHand() {
        return new HorseHand();
    }

    public Foot getFoot() {
        return new HorseFoot();
    }
}

实现产品,同样只贴出一个例子

public class HorseHead implements Head {
}
public class HorseHand implements Hand {
}
public class HorseFoot implements Foot {
}

client代码

public class Client {

    public static void main(String[] args) {
        Factory factory = new DogFactory();
        factory.getFoot();
        factory.getHand();
        factory.getHead();
        factory = new CowFactory();
        factory.getFoot();
        factory.getHand();
        factory.getHead();
        factory = new BullFactory();
        factory.getFoot();
        factory.getHand();
        factory.getHead();
        factory = new HorseFactory();
        factory.getFoot();
        factory.getHand();
        factory.getHead();


    }
}

应用场景

	后续补充....
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值