• 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

     
  • 相关阅读:
    在ORACLE里用存储进程活期瓜分表
    TSM Server,Client,TDPO安装设置装备摆设手记
    用Linux完成Oracle自植物理备份
    在Red Hat Linux7.x/8.0下安设Oracle 9i
    运用Oracle9i数据库的细心事变
    科来网络分析系统 V6.0
    [恢]hdu 2034
    [恢]hdu 2041
    [恢]hdu 2015
    [恢]hdu 2035
  • 原文地址:https://www.cnblogs.com/yinyongle/p/10519453.html
Copyright © 2020-2023  润新知