1. 程式人生 > >設計模式二(簡單工廠模式)

設計模式二(簡單工廠模式)

rri err sum throw 數據 main div () highlight

學習筆記之設計模式二,簡單工廠;

假設要取得數據庫連接字符串,

1.創建抽象類:

public abstract class ConnectString
{
        //輸出字符串  
        public abstract string GetConnectString();
}

2.創建各個實體類:

    public class SqlConnectString : ConnectString
    {
        public override string GetConnectString()
        {
            return "SQL ConnectString";
            //throw new NotImplementedException();
        }
    }

    public class MySqlConnectString : ConnectString
    {
        public override string GetConnectString()
        {
            return "MySql ConnectString";
            //throw new NotImplementedException();
        }
    }

3.創建簡單工廠類

    public class SimpleFactory
    {
        /// <summary>
        /// 靜態方法創建Product實例
        /// </summary>
        public static ConnectString CreatConnectString(string dbtype)
        {
            ConnectString connect = null;
            switch(dbtype)
            {
                case "MySql":
                    connect = new MySqlConnectString();
                    break;
                case "SqlServer":
                    connect = new SqlConnectString();
                    break;
            }
            return connect;
        }
    }

4.客戶端調用

        static void Main(string[] args)
        {
            ConnectString connectString = SimpleFactory.CreatConnectString("MySql");
            Console.WriteLine(connectString.GetConnectString());

            ConnectString connectString2 = SimpleFactory.CreatConnectString("SqlServer");
            Console.WriteLine(connectString2.GetConnectString());

            Console.Read();
        }

  

設計模式二(簡單工廠模式)