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

【C#设计模式——创建型模式】简单工场模式

2014-07-08 14:17 211 查看
  进入码农行列也有一年半载了,仍然感觉自己混混沌沌,无所事事,无所作为,,,想想都下气,下气归下气,仍要奋起潜行,像愤怒的小鸟一边又一遍的冲向猪头也好,像蜗牛一样往前蹭也罢,总之要有蚂蚁啃骨头的精神!!!!

  简单工场模式根据提供给他的数据,返回几个可能类中的一个实例。通常它返回的类都有一个共同的父类和共同的方法,但是每个方法执行的任务不同,而且根据不同的数据进行优化

实例演示

  目标:利用简单工场模式(不属于23个GoF模式)对输入的英文名字(只考虑一个单词的名字)进行处理(获取姓氏和名字)

  说明:老外写名字的习惯是名字在前姓氏在后,后者姓氏在前了加个逗号(Ming Wang或者Wang,Ming)

  先创建一个父类

public class Name
{
protected string frname, lname;
public string GetFirst()
{
return frname;
}
public string GetLast()
{
return lname;
}
}


  继承自父类的,创建两个子类FirstFirst和LastFirst,实现名字的处理,代码就不贴了,需要的最后给链接。

  关键的是工厂类NameFactory,在整个过程中起到决策点的作用,代码如下:

public class NameFactory
{
public Name GetName(string name)
{
int i = name.IndexOf(',');
if (i > 0)
{
return new LastFirst(name);
}
else
{
return new FirstFirst(name);
}
}
}


  到这,这个示例就完成了。运行效果截图

  




[b]重点:工厂类有一个决策点,能根据需要返回派生子类的实例[/b]

[b]示例下载[/b]

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: