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

         

  • 相关阅读:
    myeclipse连接并运行sql文件
    搜集的一些常用的方法
    使用SolrJ代码导入,发布搜索服务
    solr客户端的使用
    Ubuntu搭建solr搜索服务器
    Intersecting Lines(叉积,方程)
    Labyrinth(记忆化BFS)
    Segments(叉积)
    TOYS(叉积)
    Treasures and Vikings(两次搜索)
  • 原文地址:https://www.cnblogs.com/fengchao1000/p/5796946.html
Copyright © 2011-2022 走看看