设计模式(二):简单工厂模式

简单工厂模式:
根据具体的数据返回某一个类的一个实例,通常它返回的这些类实现了同一个接口。

一、意图
把类(继承自同一个接口的一类)的实例化放到工厂中进行,让工厂来选择具体实例化本接口的哪一个类。

二、适用场景

四、应用场景举例
项目中,要设计实现一个通用数据采集系统,分别在呼伦湖,无量山、三江源保护区使用,一开始没想到保护区的增加更换,直接写代码里了,每增加一个保护区都需要重新更改保护区logo、保护区名称、文件系统等等,反复更改很烦人,于是代码重构,改用工厂模式实现。
//抽象接口
public interface OrgInfo{	
	public   String getOrgName();//获取机构名
	public   String getOrgDetail();//获取机构描述
}
//具体机构 呼伦湖
public class ReserveHLH implements OrgInfo {	
	private String orgName = "呼伦湖自然保护区采集系统";//
	private String orgDetail = "呼伦湖";	
	public String getOrgName() {
		return orgName;
	}
}
//三江源....
public class ReserveSJY implements OrgInfo {
...
}
//工厂
public class SystemFilesFactory{
 		       public OrgInfo getOrgInfo(){//返回值为接口类型
    				return new ReserveHLH();//返回具体的类
  }
   	 }
     ...
}

完成之后顿觉神清气爽,当用户需要添加新的保护区的时候,不必更改现有的保护区代码,只需要新增加一个类即可。





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值