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();  
            }
        }
    }
    复制代码
  • 相关阅读:
    ZYB建围墙
    换根DP
    原码,反码,补码的计算
    字符串游戏-博弈论-trie
    【十连赛day8】神炎皇
    生成序列
    【USACO 2006 February Silver】产奶安排Stall Reservations-贪心
    tar 压缩解压命令
    java 注解
    回溯算法解决全排列问题
  • 原文地址:https://www.cnblogs.com/albertjin/p/6834235.html
Copyright © 2011-2022 走看看