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

简单工厂模式(Simple Factory Pattern)

简单工厂模式定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。因为在简单工厂模式中用于创建实例的方法是静态(static)方法,又叫做静态工厂方法(Static Factory Method)模式,简单工厂模式是属于创建型模式。

复制代码
using System;
namespace ConsoleApplication
{
    //一般每个接口或类都写在单独的.cs文件中
    //本示例为了执行查看方便才写在一起
    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;
        }
    }
    class Program
    {
        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();
            Console.ReadKey();
        }
    }
}
相关推荐
c萱3 小时前
AI产品经理——01基础认知篇
设计模式·prompt·aigc·产品经理·ai编程·gitcode·ai-native
YYYing.4 小时前
【设计模式系列 (八) 】组合模式
c++·后端·设计模式·组合模式·c/c++
geovindu18 小时前
rust: Composite Pattern
开发语言·后端·设计模式·rust·组合模式
今年下半年20 小时前
【Spring Boot】多种存储文件(FastDFS / MinIO / 阿里云 OSS)接入设计说明(附源码)
spring boot·分布式·中间件·简单工厂模式·策略模式
YYYing.1 天前
【设计模式系列 (七) 】桥接模式
c++·后端·设计模式·桥接模式
阿狗童鞋2 天前
设计模式实战指南
设计模式
电子科技圈2 天前
基于车载SerDes和OpenGMSL协议的SoC设计与验证:行业高频问题解析
设计模式·车载系统·软件构建·设计规范
ClinicTech2 天前
高速冷冻离心机的温控系统与安全保护逻辑解析
设计模式·架构·健康医疗·设计语言
GISMagic2 天前
3.《设计模式》:软件设计与解耦能力提炼
设计模式·ai coding
染指11102 天前
131.Agent-Agent设计模式-MAS多智能体系统(Multi-Agent-System)
人工智能·设计模式·langchain·agent·agents