• 简单工厂


    简单工厂的意图在于:抽象出了公共部分,独立出每一个方法继承自父类,降低每一个方法之间的耦合度,并且防止了新增or修改方法类带来的代码错误,

    前端只需要传入的运算规则即可得到结果

    抽象实体

     1 public class Operation
     2     {
     3         public double numberA { get; set; }
     4         public double numberB { get; set; }
     5         public virtual double GetResult() {
     6             double result = 0;
     7             return result;
     8         }
     9         
    10     }
    Operation

    独立的方法实现

     1 public class OperationAdd:Operation
     2     {
     3         public override double GetResult()
     4         {
     5             double result=0d;
     6             result = numberA + numberB;
     7             return result;
     8         }
     9     }
    10 
    11     public class OperationSub : Operation
    12     {
    13         public override double GetResult()
    14         {
    15             double result = 0d;
    16             result = numberA - numberB;
    17             return result;
    18         }
    19     }
    Operations

    工厂构造器

     1 public class OperationFactory
     2     {
     3         public static Operation createOperation(string operat) {
     4             Operation oper = null;
     5             switch (operat)
     6             {
     7                 case "+":
     8                     oper = new OperationAdd();
     9                     break;
    10                 case "-":
    11                     oper = new OperationSub();
    12                     break;
    13 
    14                 default:
    15 
    16                     break;
    17             }
    18             return oper;
    19         }
    20     }
    OperationFactory

    UI界面

     1 static void Main(string[] args)
     2         {
     3             Operation oper = null;
     4             oper = OperationFactory.createOperation("+");
     5             oper.numberA = 2;
     6             oper.numberB = 10;
     7             double result=oper.GetResult();
     8             Console.WriteLine(result);
     9             Console.ReadKey();
    10         }
    View Code
  • 相关阅读:
    CKA-Kubernets(K8s) (一)
    CKA-docker 容器的管理
    CKA-docker 镜像的管理
    CKA-docker 基础
    开年自省系列—— 阅读完一本书《财务之路系列》 读书笔记
    Sublime开启VIM模式
    JavaScript 踩坑开始(ing...)
    代码思考题玩玩
    P2016 战略游戏-树形DP
    皇宫看守-树形DP
  • 原文地址:https://www.cnblogs.com/cuijl/p/8034304.html
Copyright © 2020-2023  润新知