factory.cs

来自「分布式图书管理系统」· CS 代码 · 共 75 行

CS
75
字号
using System;
using System.Configuration;


namespace lib.factory
{
	/// <summary>
	/// Factory类
	/// </summary>
	public sealed class Factory
	{
		private static volatile Factory singleFactory = null;
		private static object syncObj = new object();
		/// <summary>
		/// Factory类构造函数
		/// </summary>
		private Factory()
		{
		}

		/// <summary>
		/// 获得Factory类的实例
		/// </summary>
		/// <returns>Factory类实例</returns>
		public static Factory GetInstance()
		{
			if(singleFactory == null)
			{
				lock(syncObj)
				{
					if(singleFactory == null)
					{
						singleFactory = new Factory();
					}
				}
			}
			return singleFactory;
		}

		/// <summary>
		/// 建立Factory类实例
		/// </summary>
		/// <returns>Factory类实例</returns>
		public AbstractDbFactory CreateInstance()
		{
			AbstractDbFactory abstractDbFactory = null;

			//用于多种数据库
//			switch(ConfigurationSettings.AppSettings["DatabaseType"].ToLower())
//			{
//				case "sqlserver":
//				{
//					abstractDbFactory = new SqlFactory();
//					break;
//				}
//				case "oledb":
//				{
//					abstractDbFactory = new OleDbFactory();
//					break;
//				}
//				case "odbc":
//				{
//					abstractDbFactory = new OdbcFactory();
//					break;
//				}
//			}   

			//执行sqlserver的操作
			abstractDbFactory = new SqlFactory();

			return abstractDbFactory;
		}
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?