首页 > 代码库 > C# 设计模式-工厂模式(Factory)

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 = http://www.mamicode.com/new object();            factory.CreateCommunicationFactory(input).Send(data);            Console.ReadKey();          }    }}

C# 设计模式-工厂模式(Factory)