码迷,mamicode.com
首页 > Web开发 > 详细

.net之简单工厂模式

时间:2017-04-16 14:21:56      阅读:207      评论:0      收藏:0      [点我收藏+]

标签:name   simple   new   ace   static   net   []   cto   null   

//抽象一个生产笔的方法

namespace simpleFactory
{
public abstract class AbstractPen
{
public abstract void creatPen();
}
}

//继承生产笔的方法 生产各种笔

namespace simpleFactory
{
public class gangbi:AbstractPen
{
public override void creatPen()
{
Console.WriteLine("生产钢笔。。。");
}
}
public class qianbi : AbstractPen
{
public override void creatPen()
{
Console.WriteLine("生产铅笔。。。");
}
}
public class shuibi : AbstractPen
{
public override void creatPen()
{
Console.WriteLine("生产水笔。。。");
}
}

}

//在工厂里边选择需要生产的类型,需要返回一个抽象的笔的类型,判断是那种类型

namespace simpleFactory
{
public class Factory
{
public static AbstractPen pen(string penType) {
AbstractPen p = null;
if (penType == "铅笔") {
p = new qianbi();
} else if (penType == "钢笔") {
p = new gangbi();
} else if (penType == "水笔")
{
p = new shuibi();
}
return p;
}
}
}

//输出所要求的东西,需要先创建一个抽象的笔的对象,获取上边工厂返回的对象,用对象生产

static void Main(string[] args)
{
Console.Write("请输入要生产的笔:");
string pen=Console.ReadLine();
try
{
AbstractPen p = Factory.pen(pen);
if (p!=null) {
p.creatPen();
}
}
catch (Exception e)
{
Console.WriteLine("输入错误"+e.Message);
}


Console.ReadLine();
}

 

.net之简单工厂模式

标签:name   simple   new   ace   static   net   []   cto   null   

原文地址:http://www.cnblogs.com/lymkpds/p/6718492.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!