一.工廠模式,以數據庫的業務邏輯為簡單例子,裡面有很多不合理的地方,目的是為瞭闡述對工廠模式的理解。
1.聲明接口BaseDAO
/**
**<p>工廠接口</p>
**作者:
**Blong:https://www.blogjava.net/1504
**E-mail:yyk1504@163.com
**QQ:251218333
**<p>2008-12-16 下午02:08:15</p>
*/
package cn.com.model.factory;
import java.sql.Connection;
public interface BaseDAO
{
/**數據庫的插入方法*/
public void save();
/**數據庫的更新方法*/
public void update();
/**數據庫的刪除方法*/
public void delete();
}
2.MYSQL具體實現MysqlDAO
*<p>Mysql數據庫實現業務邏輯類</p>
*作者:
*Blong:https://www.blogjava.net/1504
*E-mail:yyk1504@163.com
*QQ:251218333
*<p>2008 2008-12-16 </p>
*/
package cn.com.model.factory;
import java.sql.Connection;
import java.sql.DriverManager;
public class MysqlDAO implements BaseDAO
{
public void delete()
{
/**
*<p>此方法的功能介紹</p>
*delete
*MysqlDao
*
*Author:ASUS_1
<p>2008 2008-12-16 下午02:16:27</p>
*/
System.out.println("Mysql在此處實現刪除….");
}
public void save()
{
/**
*<p>此方法的功能介紹</p>
*save
*MysqlDao
*
*Author:ASUS_1
<p>2008 2008-12-16 下午02:16:27</p>
*/
System.out.println("Mysql在此處實現保存….");
}
public void update()
{
/**
*<p>此方法的功能介紹</p>
*update
*MysqlDao
*
*Author:ASUS_1
<p>2008 2008-12-16 下午02:16:27</p>
*/
System.out.println("Mysql在此處實現更新….");
}
}
3.SQL2000具體實現類
/**
*<p>MsSql2000數據庫實現業務邏輯類</p>
*作者:
*Blong:https://www.blogjava.net/1504
*E-mail:yyk1504@163.com
*QQ:251218333
*<p>2008 2008-12-16 </p>
*/
package cn.com.model.factory;
import java.sql.Connection;
import java.sql.DriverManager;
public class MsSql2000DAO implements BaseDAO
{
public void delete()
{
/**
*<p>此方法的功能介紹</p>
*delete
*MsSql2000DAO
*
*Author:ASUS_1
<p>2008 2008-12-16 下午02:21:04</p>
*/
System.out.println("MsSql2000在此處實現刪除….");
}
public void save()
{
/**
*<p>此方法的功能介紹</p>
*save
*MsSql2000DAO
*
*Author:ASUS_1
<p>2008 2008-12-16 下午02:21:04</p>
*/
System.out.println("MsSql2000在此處實現保存….");
}
public void update()
{
/**
*<p>此方法的功能介紹</p>
*update
*MsSql2000DAO
*
*Author:ASUS_1
<p>2008 2008-12-16 下午02:21:04</p>
*/
System.out.println("MsSql2000在此處實現更新….");
}
}
4.SQL2005具體實現類
/**
*<p>MsSql2005數據庫實現業務邏輯類</p>
*作者:
*Blong:https://www.blogjava.net/1504
*E-mail:yyk1504@163.com
*QQ:251218333
*<p>2008 2008-12-16 </p>
*/
package cn.com.model.factory;
import java.sql.Connection;
import java.sql.DriverManager;
public class MsSql2005DAO implements BaseDAO
{
public void delete()
{
/**
*<p>此方法的功能介紹</p>
*delete
*MsSql2005DAO
*
*Author:ASUS_1
<p>2008 2008-12-16 下午02:23:38</p>
*/
System.out.println("MsSql2005在此處實現刪除….");
}
public void save() {
/**
*<p>此方法的功能介紹</p>
*save
*MsSql2005DAO
*
*Author:ASUS_1
<p>2008 2008-12-16 下午02:23:38</p>
*/
System.out.println("MsSql2005在此處實現保存….");
}
public void update()
{
/**
*<p>此方法的功能介紹</p>
*update
*MsSql2005DAO
*
*Author:ASUS_1
<p>2008 2008-12-16 下午02:23:38</p>
*/
System.out.println("MsSql2005在此處實現更新….");
}
}
5.ORACLE具體實現類
/**
**<p>Oracle數據庫實現業務邏輯類</p>
**作者:
**Blong:https://www.blogjava.net/1504
**E-mail:yyk1504@163.com
**QQ:251218333
**<p>2008-12-16 下午02:11:59</p>
*/
package cn.com.model.factory;
import java.sql.Connection;
import java.sql.DriverManager;
public class OracleDAO implements BaseDAO
{
public void delete()
{
/**
*<p>此方法的功能介紹</p>
*delete
*OracleDao
*
*Author:ASUS_1
*<p>2008 2008-12-16 下午02:12:59</p>
*/
System.out.println("Oracle在此處實現刪除….");
}
public void save()
{
/**
*<p>此方法的功能介紹</p>
*save
*OracleDao
*
*Author:ASUS_1
*<p>2008 2008-12-16 下午02:12:59</p>
*/
System.out.println("Oracle在此處實現保存….");
}
public void update()
{
/**
*<p>此方法的功能介紹</p>
*update
*OracleDao
*
*Author:ASUS_1
*<p>2008 2008-12-16 下午02:12:59</p>
*/
System.out.println("Oracle在此處實現更新….");
}
}
6.工廠類
/**
*<p>數據庫業務工廠</p>
*作者:
*Blong:https://www.blogjava.net/1504
*E-mail:yyk1504@163.com
*QQ:251218333
*<p>2008-12-16 </p>
*/
package cn.com.model.factory;
import cn.com.model.factory.*;
public class DaoFactory
{
public BaseDAO createFactory(String type)
{
if ("Mysql".equals(type))
{
return new MysqlDAO();
}
else
if ("MsSql2000".equals(type))
{
return new MsSql2000DAO();
}
else
if ("MsSql2005".equals(type))
{
return new MsSql2005DAO();
}
else
if ("Oracle".equals(type))
{
return new OracleDAO();
}
return null;
}
public static void main(String[] args)
{
DaoFactory creator = new DaoFactory();
BaseDAO mysqlDAO=creator.createFactory("Mysql");
mysqlDAO.save();
mysqlDAO.update();
mysqlDAO.delete();
System.out.println("———————————");
BaseDAO msSql2000DAO=creator.createProduct("MsSql2000");
msSql2000DAO.save();
msSql2000DAO.update();
msSql2000DAO.delete();
System.out.println("———————————");
BaseDAO msSql2005DAO=creator.createProduct("MsSql2005");
msSql2005DAO.save();
msSql2005DAO.update();
msSql2005DAO.delete();
System.out.println("———————————");
BaseDAO oracleDAO=creator.createProduct("Oracle");
oracleDAO.save();
oracleDAO.update();
oracleDAO.delete();
}
}
作者“l12052124”