简单工厂模式

简单工厂模式概念

     专门定义一个类来创建其他类的实例,被创建的实例通常继承自同一个类或者接口,简单工厂模式又称为静态工厂方法(Static Factory Method)模式,属于类的创建型模式,通常根据一个条件(参数)来返回不同的类的实例。

相关文章

     http://www.cnblogs.com/anlyren/archive/2008/01/25/simple_Factory_Pattern.html

应用场景

     提供一个类,由它负责根据一定的条件创建某一具体类的实例。

UML类图(图片来之  http://www.cnblogs.com/anlyren/archive/2008/01/25/simple_Factory_Pattern.html)

示例代码

      假设我们的程序需要用到多个数据库,如sqlserver、mysql等,这时就需要有多个DbHelper类,我们可以利用简单工厂实习创建不同的DbHelper类,这里只是简单的实现DbHelper类,不对具体功能实现。

1、定义一个IDbHelper接口

 public  interface IDbHelper
    {
        void ExecuteSql(string SQLString);
    }
View Code

2、具体的DbHelper类

 public class DbHelperMySQL :IDbHelper
    {
        public void ExecuteSql(string SQLString)
        {
            Console.WriteLine("mysql执行!");
        }
    }

    public class DbHelperSQLServer : IDbHelper
    {
        public void ExecuteSql(string SQLString)
        {
            Console.WriteLine("sqlserver执行");
        }
    }
View Code

3、工厂类实现

public static IDbHelper CreateDbHelper(string dataBaseName)
        {
            switch (dataBaseName.Trim().ToLower())
            {
                case  "mysql" :
                 return  new DbHelperMySQL();
                case "sqlserver":
                 return new DbHelperMySQL();
                default:
                 throw  new Exception("没有您输入的数据库帮助类!");  
            }
        }
View Code

4、调用测试

 static void Main(string[] args)
        {

            IDbHelper dbHelper = DbHelperFactory.CreateDbHelper("mysql");

            dbHelper.ExecuteSql("");
        }
View Code

 

 

     

posted @ 2016-08-22 20:44  fengchao1000  阅读(208)  评论(0编辑  收藏  举报