zoukankan      html  css  js  c++  java
  • 简单工厂模式

    简单工厂模式概念

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

         

  • 相关阅读:
    什么是接口测试?
    接口测试浅谈
    软件测试之数据库面试题
    软件测试的流程是什么?
    多用户博客网站开发实战之创建数据库
    利用python脚本统计和删除redis key
    ULR1 B. 【ULR #1】光伏元件
    法拉第未来任命新CFO!贾跃亭激动发声
    人民需要特斯拉,但条件不允许
    什么叫IOCSABS呢
  • 原文地址:https://www.cnblogs.com/fengchao1000/p/5796946.html
Copyright © 2011-2022 走看看