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

本文介绍简单工厂模式的基本概念,通过创建工厂类来实例化不同类型的服装对象,如裙子和运动衫,并展示了如何使用该模式来简化客户端代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

简单工厂模式


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




举例:裙子和运动衫

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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值