工厂模式是软件开发中的常用模式,目的是简化和统一实例的创建,方便修改,以下是java代码实例,采用java反射机制,确保完全低耦合:
//数据库接口
package com.util;
interface Database
{
void createDb();
}
//sybase数据库
package com.util;
class Sybase implements Database
{
@Override
public void createDb()
{
System.out.println("sybase create");
}
}
//oracle数据库
package com.util;
class Oracle implements Database//oracle
{
@Override
public void createDb()
{
System.out.println("oracle create");
}
}
public class Factory
{
public static Database getInstance(String db)
{
return produce(db);
}
private static Database produce(String db)
{
Database db = null;
try
{
db = (Database)Class.forName("com.util." + dbtype).newInstance();
}
catch (Exception e)
{
e.printStackTrace();
}
return db;
}
/**
* @param args
*/
public static void main(String[] args)
{
Database db = Factory.getInstance("Sybase");//获取sybase的实例
db.createDb();
}
}