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

本文介绍了一种基于工厂模式的设计实例,通过定义一个基类Operation,并创建两个子类OperateAdd和OperateDuce来实现加法和减法运算。通过OperationFactory工厂类根据传入的操作符创建相应的子类对象。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

基类:

 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调用相关的子类

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

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

转载于:https://www.cnblogs.com/steben/archive/2013/05/20/3087872.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值