本帖最后由 何旭 于 2011-12-13 14:38 编辑
首先我们来说工厂模式是什么东西!
其实工厂模式,就是创建东西的嘛!不需要什么理解。怎么来创建,正好我那天写了一个看代码:
首先我们定义一个创建接口- interface Creator
- {
- Product getWork();
- }
复制代码 再定义一个产品接口- public interface Product
- {
- void doWork();
- }
复制代码 分别有一个学生产品和教师产品的实现类- public class ConcreteProduct_Student : Product
- {
- #region IProduct 成员
- public void doWork()
- {
- Console.WriteLine("我是学生");
- }
- #endregion
- }
复制代码- public class ConcreteProduct_Teacher : Product
- {
- #region IProduct 成员
- public void doWork()
- {
- Console.WriteLine("我是老师");
- }
- #endregion
- }
复制代码 再分别有一个创建学生产品和创建教师产品的创建实现类- public class ConcreteCreator_Student : Creator
- {
- #region IWorkFactory 成员
- public Product getWork()
- {
- return new ConcreteProduct_Student();
- }
- #endregion
- }
复制代码- public class ConcreteCreator_Teacher : Creator
- {
- #region IWorkFactory 成员
- public Product getWork()
- {
- return new ConcreteProduct_Teacher();
- }
- #endregion
- }
复制代码 使用的时候这样就行了- class Program
- {
- static void Main(string[] args)
- {
- ConcreteCreator_Teacher t = new ConcreteCreator_Teacher();
- t.getWork().doWork();
- ConcreteCreator_Student s = new ConcreteCreator_Student();
- s.getWork().doWork();
- Console.ReadLine();
- }
- }
复制代码 输出的结果:
我是老师
我是学生 |