zoukankan      html  css  js  c++  java
  • 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

     
  • 相关阅读:
    linux下操作mysql
    数据指标系列:电商数据分析指标体系总结V1.0
    技巧系列:电脑微信多开方法
    Excel可视化:柱状图与柱状对比图
    数据指标系列:销售数据分析指标体系总结V1.0
    Excel:数据分析excel函数总结
    一种很简单的按键判断方法
    开始VC
    altium designer 画板子的一些收获
    stm32通用定时器
  • 原文地址:https://www.cnblogs.com/yinyongle/p/10519453.html
Copyright © 2011-2022 走看看