標籤:建立 實體類 creat 設計模式 用戶端 return int ctf class
1.建立抽象工廠類
public abstract class AbstractFactory { public abstract Connect CreatConnet(); public abstract Select CreatSelect(); }
2.建立兩個抽象類別
public abstract class Connect { public abstract void Print(); } public abstract class Select { public abstract void Print(); }
3.建立兩個實體類
public class SqlConnect : Connect { public override void Print() { //throw new NotImplementedException(); Console.Write("Sql Connect"); } } public class SqlSelect : Select { public override void Print() { Console.Write("Sql Select"); } } public class MysqlConnect : Connect { public override void Print() { Console.Write("MySql Connect"); } } public class MysqlSelect : Select { public override void Print() { Console.WriteLine("MySql Select"); } }
4.建立實體工廠類
public class SqlFactory : AbstractFactory { public override Connect CreatConnet() { return new SqlConnect(); } public override Select CreatSelect() { return new SqlSelect(); } } public class MySqlFactory : AbstractFactory { public override Connect CreatConnet() { return new MysqlConnect(); } public override Select CreatSelect() { return new MysqlSelect(); } }
5.用戶端調用
static void Main(string[] args) { AbstractFactory sqlFactory = new SqlFactory(); AbstractFactory mysqlFactory = new MySqlFactory(); Connect sqlConnect = sqlFactory.CreatConnet(); Connect mysqlConnect = mysqlFactory.CreatConnet(); sqlConnect.Print(); mysqlConnect.Print(); Select sqlSelect = sqlFactory.CreatSelect(); Select mysqlSelect = mysqlFactory.CreatSelect(); sqlSelect.Print(); mysqlSelect.Print(); Console.Read(); }
學習筆記:設計模式之抽象工廠(C#)