工厂模式通俗解释

工厂就是你要什么去到工厂里拿就好了,工厂负责生产,你除了使用什么都不用管,小程序你看不出优势来,打个比方说如果12亿人人,一人一个电视,那么如果每个人都去工厂里制造是多么麻烦的事,你只要告诉他你要什么类型的,工厂会生产出来给你,这个就是通俗意义上的工厂模式了。

至于说使用这个的好处,可以方便的更改应用程序,方便扩展。比如说你修改了一个类,或者在这个类的基础上生成了一个子类那么你现在要把以前使用父类的地方都给改为子类,如果小程序可能有几十个地方要改,如果大一点可能就几百几千个地方要改了。如果使用工厂模式,你只要改一个地方就可以了。



下面是一个简单个工厂模式,出于《大话设计模式》


  1. public static Operation createOperate(string operate)
  2. {
  3.     Operation oper = null;
  4.     switch (operate)
  5.     {
  6.         case "+":
  7.             {
  8.             oper = new OperationAdd();
  9.             break;
  10.             }
  11.         case "-":
  12.             {
  13.             oper = new OperationSub();
  14.             break;
  15.             }
  16.         case "*":
  17.             {
  18.             oper = new OperationMul();
  19.             break;
  20.             }
  21.         case "/":
  22.             {
  23.             oper = new OperationDiv();
  24.             break;
  25.             }
  26.     }
  27.     return oper;
  28. }
  29. }
调用工厂,需要createOperator("/"),就能返回除法运算符。
  优点:客户端不需要修改代码。
  缺点: 当需要增加新的运算类的时候,不仅需新加运算类,还要修改工厂类,违反了开闭原则。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值