简单工厂模式_C#_设计模式

基类:

 1 public class Operation
 2     {
 3         private int _numberA = 0;
 4         private int _numberB = 0;
 5         public int numberA
 6         {
 7             get { return _numberA; }
 8             set { _numberA = value; }
 9         }
10         public int numberB
11         {
12             get { return _numberB; }
13             set { _numberB = value; }
14         }
15         public virtual int OperationResult()
16         {
17             int result = 0;
18             return result;
19         }
20     }


实现了加法的子类:

1  public class OperateAdd : Operation
2     {
3         public override int OperationResult()
4         {
5             int result = 0;
6             result = numberA + numberB;
7             return result;
8         }
9     }

实现了减法的子类:

1 public class OperareDuce : Operation
2     {
3         public override int OperationResult()
4         {
5             int result = 0;
6             result = numberA - numberB;
7             return result;
8         }
9     }

工厂类OperationFactory:

 

 1 public class OperationFactory
 2     {
 3         public static Operation CreateOperation(string operate)
 4         {
 5             Operation ope = null;
 6             switch(operate)
 7             {
 8                 case "+":ope=new OperateAdd() ; break;
 9                 case "-": ope = new OperareDuce(); break;
10             }
11             return ope;
12         }
13     }

调用:

public static void Main()
        {
            Operation op = OperationFactory.CreateOperation("+");
            op.numberA = 1;
            op.numberB = 2;
            Console.WriteLine(op.OperationResult());
            Console.ReadKey();
        }

父类中拥有共同所需的相关操作,子类对其进行重载,实现各自所需的操作。最后通过工厂类OperationFactory调用相关的子类

刚开始学习设计模式,写的不好 轻点拍。

代码参考来自《大话设计模式》

posted on 2013-05-20 00:15  staben  阅读(143)  评论(0编辑  收藏  举报

导航