惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - 叶小钗
雷峰网
雷峰网
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Martin Fowler
Martin Fowler
MyScale Blog
MyScale Blog
博客园 - 聂微东
有赞技术团队
有赞技术团队
The Cloudflare Blog
T
Tailwind CSS Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
月光博客
月光博客
T
The Blog of Author Tim Ferriss
D
Docker
L
LangChain Blog
Vercel News
Vercel News
C
Check Point Blog
博客园 - Franky
博客园 - 三生石上(FineUI控件)
Recent Announcements
Recent Announcements
H
Hackread – Cybersecurity News, Data Breaches, AI and More
量子位
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
V
V2EX
人人都是产品经理
人人都是产品经理

博客园 - androllen

Python yield 关键词 PDF 构成 桌面客户端的主要类型和技术方案 Python 压缩转义 异步删除嵌套文件夹及文件 数据结构 二叉树遍历 数据结构 线性表 JS 字符串转换为函数体 VSCode 配置内部Python项目 缺少模块ModuleNotFoundError C# 基础知识 算法-数列 算法-排序算法 C# 设计模式 C# Utils .Net 异步与同步 WPF StreamGeometry Vue 打开窗口输出文件路径 CSS Flexbox layout 2 CSS Flexbox layout 1
C# 设计模式-简单工厂模式
androllen · 2025-03-02 · via 博客园 - androllen

    public interface IMouseFactory
    {
        Mouse createMouse();
    }

    public class HpMouseFactory : IMouseFactory
    {
        public Mouse createMouse()
        {
            return new HpMouse();
        }
    }

    public class DellMouseFactory : IMouseFactory
    {
        public Mouse createMouse()
        {
            return new DellMouse();
        }
    }

    public class DellMouse : Mouse
    {
        public void sayHi()
        {
            Debug.WriteLine("I am dell");
        }
    }

    public class HpMouse : Mouse
    {
        public void sayHi()
        {
            Debug.WriteLine("I am hp");
        }
    }

    public interface Mouse
    {
        void sayHi();
    }
    public class Factory
    {
        public Factory()
        {
            
            IMouseFactory mouseFactory = new DellMouseFactory();
            var mouse = mouseFactory.createMouse();
            mouse.sayHi();
        }
       
    }