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);
}
}
}