多產品 之 抽象工廠 模式

多產品 之 抽象工廠 模式

多產品 之 抽象工廠 模式

多產品 之 抽象工廠 模式

同專案需支援不同資料庫及不同Table,要解決涉及
多個產品系列的問題,可使用抽象工廠模式。

interface IFactory
{
IUser CreateUser();
IDepartment CreateDepartment();
}

class SqlServerFactory : IFactory
{
public IUser CreateUser()
{
return new SqlserverUser();
}
public IDepartment CreateDepartment()
{
return new SqlServerDepartment();
}
}

class AccessFactory : IFactory[
{
public IUser CreateUser()
{
return new AccessUser();
}
public IDepartment CreateDepartment()
{
return new AccessDepartment();
}
}

static void Main(string[] args)
{
User user = new User();
Department dept = new Department();
IFactory factory = new AccessFactory();
IUser iu = factory.CreateUser();
iu.Insert(user);
iu.GetUser(1);

IDepartment id = factory.CreateDepartment();
id.Insert(dept);
id.GetDepartment(1);

Console.Read();

}