C#设计模式 简单工厂模式

简单工厂模式


工厂类:担任这个角色的是工厂方法模式的核心。工厂类在客户端的直接调用下创建产品对象,它往往由一个具体的类实现。
抽象产品角色:担任这个角色的类是由工厂方法模式所创建的对象的父类,或她们共同拥有的接口。一般由接口或抽象类实现。
具体产品角色:工厂方法模式所创建的任何对象都是这个角色的实例,由具体类实现。




举例:裙子和运动衫

/*
 * Created by SharpDevelop.
 * User: tianyu
 * Date: 2017/10/11
 * Time: 17:01
 * 
 * To change this template use Tools | Options | Coding | Edit Standard Headers.
 */
using System;

namespace simple_factory
{
	public interface IApparel
	{
		string ShowMe();
	}
	public class SportShirt:IApparel
	{
		public string ShowMe()
		{
			return("Sport Shirt!");
		}
	}
	public class DressShirt:IApparel
	{
		public string ShowMe()
		{
			return ("Dress Shirt!");
		}
	}
	public class ApparelFactory
	{
		public IApparel CreateApparel(string apptype)
		{
			switch(apptype)
			{
				case "DRESSSHIRT":
					return new DressShirt();
				case "SPORTSHIRT":
					return new SportShirt();
			}
			return null;
		}
	}
	class Program
	{
		public static void Main(string[] args)
		{
			ApparelFactory factory=new ApparelFactory();
			IApparel obj1=factory.CreateApparel("DRESSSHIRT");
			IApparel obj2=factory.CreateApparel("SPORTSHIRT");
			string shirtType=obj1.ShowMe();
			Console.WriteLine(shirtType);
			Console.ReadKey(true);
		}
	}
}


posted @ 2017-10-11 17:15  Bryce1010  阅读(75)  评论(0编辑  收藏  举报