三种工厂模式及利弊

本文详细介绍了三种工厂模式——简单工厂模式、工厂方法模式和抽象工厂模式,包括各自的主要组成部分、优缺点以及应用场景。简单工厂模式通过工厂类创建产品,但扩展性较差;工厂方法模式通过工厂接口实现产品创建,提高了灵活性,但增加了系统复杂性;抽象工厂模式则用于创建一系列相关或相互依赖的对象,隔离了产品族的实现细节。
摘要由CSDN通过智能技术生成


一、简单工厂模式(Simple Factory Pattern)

优点:
1).将对象的创建交给专门的工厂类负责,实现了对象的创建和对象的使用分离。

2).一个调用者想创建一个对象,只要知道其名称就可以了。

3).屏蔽产品的具体实现,调用者只关心产品的接口。

缺点:
1).工厂类不够灵活,增加新的具体产品需要修改工厂类的判断逻辑代码。违背开闭原则

在这里插入图片描述

1.抽象类产品(Product)

它是工厂类所创建的所有对象的父类,封装了各种产品对象的公有方法,它的引入将提高系统的灵活性,使得在工厂类中只需定义一个通用的工厂方法,因为所有创建的具体产品对象都是其子类对象

public interface SimpleFactoryPatternInterface {
   
	
	 void Select() ;
}

2.具体产品(ConcreteProduct)

它是简单工厂模式的创建目标,所有被创建的对象都充当这个角色的某个具体类的实例。它要实现抽象产品中声明的抽象方法

//具体产品一
	 public   class zhejiang implements SimpleFactoryPatternInterface{
   
		 public zhejiang() {
   
		        this.Select();
		    }
		@Override
		public void Select() {
   
			// TODO Auto-generated method stub
			System.out.println("住在浙江");
		}
		 
	 } 
//具体产品二
	 public   class chongqing implements SimpleFactoryPatternInterface{
   
		 public chongqing() {
   
		        this.Select();
		    }
		@Override
		public void Select() {
   
			// TODO Auto-generated method stub
			System.out.println("住在重庆");
		}
		 
	 } 

3.工厂类(Factory)

简单工厂模式的核心部分,负责实现创建所有产品的内

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值