简单工厂模式

 

public interface DB {
    
	 public void Connect();
	 public void Close();
}

 

 

 

package Factory02;

import Factory01.DB;


//利用Java反射机制 避免增加子类 避免了修改工厂

class MySQL  implements DB
{

	public void Close() {
		System.out.println("MySQL close.......");
		
	}

	public void Connect() {
		
		System.out.println("MySQL connect.......");
		
	}
}
class MSSQLServer  implements DB
{

	public void Close() {
		
		System.out.println("MMSSQLServer close.......");
	}

	public void Connect() {
		System.out.println("MSSQLServer connect.......");
		
		
	}
}
class Oracle  implements DB
{

	public void Close() {
		
		System.out.println("Oracle close.......");
	}

	public void Connect() {
		
		System.out.println("Oracle connect.......");
		
	}
}
//***************************************************

class DBfactory
{
	public static DB getDBInstance(String type)
	{
		DB db= null;
		try {
			db=(DB) Class.forName("Factory02."+type).newInstance();
		} catch (InstantiationException e) {
			
			e.printStackTrace();
		} catch (IllegalAccessException e) {
			
			e.printStackTrace();
		} catch (ClassNotFoundException e) {
			
			e.printStackTrace();
		}
		return db;
	}
	
}
//************************************************
public class factory2 {

	public static void main(String[] args) {
		
		    
          DB  db=DBfactory.getDBInstance("MSSQLServer");
          if(db!=null)
          {
          	 db.Connect();
               db.Close();
          }
          else
          {
          	System.out.println("不存在这个子类");
          }
         
	}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值