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();
        }
    }
}
相关推荐
做前端的娜娜子16 小时前
从 0 到 1 打造一个配置可视化后台:一次前端配置中心化改造的实战复盘
前端·设计模式·数据可视化
执明wa1 天前
Android 开发中的设计模式入门:六大设计原则
android·设计模式
莫得感情 o1 天前
设计模式 09 · 适配器模式
设计模式·适配器模式
梅头脑2 天前
学了6种设计模式却写出了同事看不懂的代码——SOLID五原则反例对照,治好了我的"过度设计"
设计模式
workflower2 天前
案例:大模型驱动的“发现- 研判- 整改- 验证”全闭环治理体系
人工智能·深度学习·机器学习·设计模式·机器人
董员外2 天前
RAG 系统进化论(九):RAG 评测,怎样证明系统真的变好了?
人工智能·设计模式·程序员
西安小哥2 天前
AI时代技术工程师的"道法术器势":学习图谱、成长规划与角色重塑
人工智能·设计模式·程序员
莫得感情 o2 天前
设计模式 08 · 装饰器模式
设计模式·装饰器模式
董员外2 天前
RAG 系统进化论(八):Agentic RAG(智能体式 RAG),从回答问题到完成任务
人工智能·后端·设计模式
董员外3 天前
RAG 系统进化论(七):Multimodal RAG(多模态 RAG),当知识存在于表格、图片和页面中
人工智能·后端·设计模式