java设计模式学习—抽象工厂模式

抽象工厂模式:提供一个为创建相互相关或相互依赖的对象接口;
类型:创建对象类型;
工厂方法模式和抽象工厂模式的区别:工厂方法模式提供一个创建一个对象的接口,而抽象工厂模式提供一个创建相关和依赖的对象接口,也就是说工厂方法模式提供的方法是创建一个产品对象,而抽象工厂提供了创建多个产品对象的接口;他们的出发点都是一样,降低客户端与产品类的耦合度,客户端只需要与抽象接口通信,而无需显示引用产品类;
抽象工厂模式的组成:
1)、抽象工厂接口AbstractFactory:提供创建多个相关或依赖产品对象的接口;
2)、抽象工厂实现类:具体实现抽象工厂中的方法;
3)、产品接口:为一类产品提供接口;
4)、产品实现类:产品接口具体实现;

/*抽象工厂接口*/
public interface Factory{
    public Product1 product1();
    public Product2 product2();
}
/*抽象工厂接口实现*/
public class FactoryImp implement Factory{
     private Product1 product1;
     private Product2 product2;
     public Product1 product1(){
          return new Product1Imp();
     }
     public Product2 product2(){
          return new Product2Imp();
     }

}
/*产品1接口*/
public interface Product1{
    public void pro1();
}
/*产品1接口实现*/
public class Product1Imp implements Product1{
    public void pro1(){};
}
/*产品2接口*/
public interface Product2{
    public void pro2();
}
/*产品2接口实现*/
public class Product2Imp implements Product2{
    public void pro2(){};
}
/*客户端,抽象工厂模式使客户端通过抽象接口引用不同的产品实例,从而实现了二者的解耦*/
public class Client{
    public static void main(String[]args){
        Factory factory = new FactoryImp();
        factory.product1().pro1();
        factory.product2().pro2();
    }
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值