最近在学习“设计模式”,闲着,写了个抽象工厂的简单示例。
using System;
using System.Collections.Generic;
using System.Text;
namespace DB
{
class Program
{
static void Main(string[] args)
{
string s = "sql1";
IFactory F = null;
if (s == "sql")
{
F = new SqlFactory();
}
else
{
F = new AccessFactory();
}
IDB db= F.GetDB();
db.insertToDB("小罗");
db.ReadFromDB("小张");
System.Console.Read();
}
}
interface IFactory
{
IDB GetDB();
}
class AccessFactory:IFactory
{
public IDB GetDB()
{
AccessUser user = new AccessUser();
return user;
}
}
class SqlFactory : IFactory
{
public IDB GetDB()
{
SqlUser user = new SqlUser();
return user;
}
}
interface IDB
{
void insertToDB(string name);
void ReadFromDB(string name);
}
class AccessUser:IDB
{
public void insertToDB(string name)
{
Console.WriteLine ("将" + name + "写入到Access数据库");
}
public void ReadFromDB(string name)
{
Console.WriteLine ("从" + "Access数据库从读取" + name + "的信息");
}
}
class SqlUser : IDB
{
public void insertToDB(string name)
{
Console.WriteLine ("将"+name+"写入到SQL数据库");
}
public void ReadFromDB(string name)
{
Console.WriteLine ("从" + "SQL数据库从读取" + name + "的信息");
}
}