您的位置:首页 > 编程语言 > C#

C# 简单工厂模式

2018-04-09 01:28 411 查看
using System;

namespace SimpleFactory
{
class Program
{
static void Main(string[] args)
{
//简单工厂模式,拥有一个直接创建产品的类
//使用者需要知道:工厂,产品类别,产品接口即可使用,对使用者隐藏了创建
IMouse[] myMouse = new IMouse[2];
myMouse[0]=MouseFactory.CreateMouse(MouseBand.HPMouse);
myMouse[1]=MouseFactory.CreateMouse(MouseBand.DellMouse);
foreach (IMouse m in myMouse) { m.SayHi(); }
}
}
//鼠标工厂
public partial class MouseFactory
{
public static IMouse CreateMouse(MouseBand band)
{
switch (band)
{
case MouseBand.HPMouse:
return new HPMouse();
default:
return new DellMouse();
}
}
}
//公开的品牌
public enum MouseBand { HPMouse, DellMouse }
//公开的接口
public interface IMouse
{
void SayHi();
}
//隐藏的鼠标实现,避免使用者直接创建
public partial class MouseFactory
{
private class HPMouse : IMouse
{
public void SayHi()
{
Console.WriteLine("Hi! {0}", this);
}
}

private class DellMouse : IMouse
{
public void SayHi()
{
Console.WriteLine("Hi! {0}", this);
}
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: