zoukankan      html  css  js  c++  java
  • 简单工厂

    简单工厂的意图在于:抽象出了公共部分,独立出每一个方法继承自父类,降低每一个方法之间的耦合度,并且防止了新增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
  • 相关阅读:
    PasswordHasher 算法
    Java的环境变量配置
    CSS2+DIV的学习心得
    struts2利用token机制拦截用户重复提交
    电脑开机出现 error: no such partition grub rescue
    MySQL limit实际用法的详细解析
    win7将硬盘由ATA修改为AHCI的方法
    与SVN相关的程序的调试问题【转】
    【转】JSP提交表单
    LigerUI 快速开发UI框架 链接
  • 原文地址:https://www.cnblogs.com/cuijl/p/8034304.html
Copyright © 2011-2022 走看看