zoukankan      html  css  js  c++  java
  • C# 设计模式-工厂模式(Factory)

    factory从若干个可能类创建对象。

    例如:如果创建一个通信类接口,并有多种实现方式,可以使用factory创建一个实现该接口的对象,factory可以根据我们的选择,来创建适合的对象。

    复制代码
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Timers;
    
    namespace Demo
    {
        
        public interface ICommunication
        {
            bool Send(object data);
        }
    
        public class Serial:ICommunication
        {
            public bool Send(object data)
            {
                Console.WriteLine("通过串口发送一个数据");
                return true;
            }
        }
    
        public class Lan:ICommunication
        {
            public bool Send(object data)
            {
                Console.WriteLine("通过网口发送一个数据");
                return true;
            }
        }
    
        public class CommunicationFactory
        {
            public ICommunication CreateCommunicationFactory(string style)
            {
                switch(style)
                {
                    case "Serial":
                        return new Serial();
                    case "Lan":
                        return new Lan();
                }
                return null;
            }
        }
    
        class Program
        {  
            static void Main(string[] args)
            {
                CommunicationFactory factory = new CommunicationFactory();
                Console.WriteLine("请输入通信类型:Lan、Serial");
                string input = Console.ReadLine();
                object data = new object();
                factory.CreateCommunicationFactory(input).Send(data);
                Console.ReadKey();  
            }
        }
    }
    复制代码
  • 相关阅读:
    分析 ajax 请求并抓取 “今日头条的街拍图”
    requests + 正则表达式 获取 ‘猫眼电影top100’。
    爬虫基础(暂缓更新)
    Git 操作笔记:分布式版本控制系统
    python补充
    python基础
    8.最佳电影聚类分析
    文本分析 笔记
    7.文档聚类
    5.词项相似度分析
  • 原文地址:https://www.cnblogs.com/albertjin/p/6834235.html
Copyright © 2011-2022 走看看