• C#设计模式--工厂模式之简单模式


    简单工厂模式定义:简单工厂模式是属于创建型模式,又叫做静态工厂方法(Static Factory Method)模式,但不属于23种GOF设计模式之一。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。简单工厂模式是工厂模式家族中最简单实用的模式,可以理解为是不同工厂模式的一个特殊实现。

    工厂(Creator)角色
    简单工厂模式的核心,它负责实现创建所有实例的内部逻辑。工厂类的创建产品类的方法可以被外界直接调用,创建所需的产品对象。
    抽象产品(Product)角色
    简单工厂模式所创建的所有对象的父类,它负责描述所有实例所共有的公共接口。
    具体产品(Concrete Product)角色
    是简单工厂模式的创建目标,所有创建的对象都是充当这个角色的某个具体类的。
    图解:
    代码案例:
    //抽象产品
        public interface Database
        {
            //定义了数据库删除增加两个方法               
            void Delete();
            void Insert();                      
        }
    
    //具体产品
        //Sqlserver的增删
         public  class Sqlserver:Database
        {
            public void Delete()
            {
                Console.WriteLine("delete data from sqlserver");
            }
    
            
    
            public void Insert()
            {
                Console.WriteLine("insert data to sqlserver");
            }
        }
        //Mysql的增删
        public class Mysql : Database
        {
            public void Delete()
            {
                Console.WriteLine("delete data from Mysql");
            }
    
            public void Insert()
            {
                Console.WriteLine("insert data to Mysql");
            }
        }
        //工厂核心
        public static class IFactory
        {
            //根据需求生产
            public static Database CreateDatabase(string dbType)
            {
                Database db = null;
                switch (dbType)
                {
                    case "Sqlserver":
                        db = new Sqlserver();
                        break;
                    case "Mysql":
                        db = new Mysql();
                        break;
                    default:
                        break;
                }
                return db;
            }
        }
    //客户需求
            static void Main(string[] args)
            {          
                Database db1 = IFactory.CreateDatabase("Sqlserver");
                db1.Delete();
                db1.Insert();
                Database db2 = IFactory.CreateDatabase("Mysql");
                db2.Delete();
                db2.Insert();
                Console.ReadKey();
            }

    参考网站:https://baike.baidu.com/item/简单工厂模式/8801727

     
  • 相关阅读:
    asp.net实现页面的一般处理程序(CGI)学习笔记
    .NET下的状态(State)模式 行为型模式
    (插件Plugin)AssemblyLoader解决方案(插件开发)
    SQL基础编写基本的SQL SELECT 语句
    在查询语句中使用NOLOCK和READPAST(ZT)
    C# 3.0语言增强学习笔记(一)
    ram,rom,flash
    自动激活你的ActiveX控件
    用C#编写ActiveX控件(二)
    用C#编写ActiveX控件(一)
  • 原文地址:https://www.cnblogs.com/yinyongle/p/10519453.html
Copyright © 2020-2023  润新知