码迷,mamicode.com
首页 > 其他好文 > 详细

简单工厂模式

时间:2016-08-22 21:43:51      阅读:155      评论:0      收藏:0      [点我收藏+]

标签:

简单工厂模式概念

     专门定义一个类来创建其他类的实例,被创建的实例通常继承自同一个类或者接口,简单工厂模式又称为静态工厂方法(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

 

 

     

简单工厂模式

标签:

原文地址:http://www.cnblogs.com/fengchao1000/p/5796946.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!