【C#设计模式——创建型模式】简单工场模式
2014-07-08 14:17
211 查看
进入码农行列也有一年半载了,仍然感觉自己混混沌沌,无所事事,无所作为,,,想想都下气,下气归下气,仍要奋起潜行,像愤怒的小鸟一边又一遍的冲向猪头也好,像蜗牛一样往前蹭也罢,总之要有蚂蚁啃骨头的精神!!!!
简单工场模式根据提供给他的数据,返回几个可能类中的一个实例。通常它返回的类都有一个共同的父类和共同的方法,但是每个方法执行的任务不同,而且根据不同的数据进行优化。
实例演示
目标:利用简单工场模式(不属于23个GoF模式)对输入的英文名字(只考虑一个单词的名字)进行处理(获取姓氏和名字)
说明:老外写名字的习惯是名字在前姓氏在后,后者姓氏在前了加个逗号(Ming Wang或者Wang,Ming)
先创建一个父类
继承自父类的,创建两个子类FirstFirst和LastFirst,实现名字的处理,代码就不贴了,需要的最后给链接。
关键的是工厂类NameFactory,在整个过程中起到决策点的作用,代码如下:
到这,这个示例就完成了。运行效果截图
![](http://images.cnitblog.com/i/314319/201407/081411283324168.png)
![](http://images.cnitblog.com/i/314319/201407/081411409734362.png)
[b]重点:工厂类有一个决策点,能根据需要返回派生子类的实例[/b]
[b]示例下载[/b]
简单工场模式根据提供给他的数据,返回几个可能类中的一个实例。通常它返回的类都有一个共同的父类和共同的方法,但是每个方法执行的任务不同,而且根据不同的数据进行优化。
实例演示
目标:利用简单工场模式(不属于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); } } }
到这,这个示例就完成了。运行效果截图
![](http://images.cnitblog.com/i/314319/201407/081411283324168.png)
![](http://images.cnitblog.com/i/314319/201407/081411409734362.png)
[b]重点:工厂类有一个决策点,能根据需要返回派生子类的实例[/b]
[b]示例下载[/b]
相关文章推荐
- 【C#设计模式——创建型模式】工场方法模式
- [C#]设计模式-简单工厂-创建型模式
- [导入]C#面向对象设计模式纵横谈(4):Abstract Factory 抽象工厂模式(创建型模式)
- C#设计模式_创建型_FactoryMethod模式(learn from Lijianzhong & others)
- C#设计模式学习笔记---简单工厂模式
- 设计模式之简单工厂(创建型模式)
- c#设计模式之简单工厂模式
- [导入]C#面向对象设计模式纵横谈(3):Abstract Factory 抽象工厂模式(创建型模式)
- C#面向对象设计模式纵横谈(四) --- Factory Method 工厂方法(创建型模式)
- [导入]C#面向对象设计模式纵横谈(5):Factory Method 工厂方法模式(创建型模式).zip(10.09 MB)
- C#设计模式之简单工厂篇
- 设计模式之C#简单工厂模式
- C#设计模式之简单工厂篇
- [导入]C#面向对象设计模式纵横谈(2):Singleton 单件(创建型模式).zip(9.57 MB)
- C#设计模式之简单工厂篇
- C#设计模式_创建型_Builder模式(learn from Lijianzhong & others)
- [导入]C#设计模式之简单工厂篇
- C#设计模式之简单工厂篇(转载)
- 创建型设计模式简单对比
- 学习笔记:创建型设计模式简单对比