网站首页  汉语字词  英语词汇  考试资料  写作素材  旧版资料

请输入您要查询的考试资料:

 

标题 浅析.net简单工厂模式
内容
    程时一门技术,更是一门艺术
    简单工厂模式利用面向对象方式通过继承、封装、多态把程序的耦合度降低,设计模式使得程序更加灵活,容易修改,易于复用。
    下面是服务器计算器代码:
    代码如下:
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    namespace DesignModel
    {
    /// <summary>
    /// 计算器
    /// </summary>
    public class Calculator //创建一个计算器的基类可以接受两个参数,任何算法只需重写计算结果方法即可。
    {
    private double _numberA;
    private double _numberB;
    public double NumberA
    {
    get { return this._numberA; }
    set { this._numberA = value; }
    }
    public double NumberB
    {
    get { return this._numberB; }
    set { this._numberB = value; }
    }
    public virtual double GetResult()
    {
    double result = 0;
    return result;
    }
    }
    /// <summary>
    /// 加法
    /// </summary>
    public class Add : Calculator //每添加一种计算方式只需添加一个计算类并重写基类方法即可
    {
    public override double GetResult()
    {
    return NumberA + NumberB;
    }
    }
    /// <summary>
    /// 减法
    /// </summary>
    public class Sub : Calculator
    {
    public override double GetResult()
    {
    return NumberA + NumberB;
    }
    }
    /// <summary>
    /// 计算器工厂
    /// </summary>
    public class CalculatorFactory
    {
    public static Calculator GetResult(string oper)
    {
    Calculator calcu = null;
    switch (oper)
    {
    case "+":
    calcu = new Add();
    break;
    case "-":
    calcu = new Sub();
    break;
    }
    return calcu;
    }
    }
    }
    复制代码 代码如下:
    static void Main(string[] args)
    {
    Console.WriteLine("请输入数字A:");
    string numbera = Console.ReadLine();
    Console.WriteLine("请输入运算符:");
    string oper = Console.ReadLine();
    Console.WriteLine("请输入数字B:");
    string numberb = Console.ReadLine();
    Calculator c = CalculatorFactory.GetResult(oper);
    c.NumberA = Convert.ToDouble(numbera);
    c.NumberB = Convert.ToDouble(numberb);
    Console.WriteLine(string.Format("{0}{1}{2}={3}", numbera, oper, numberb, c.GetResult()));
    Console.ReadLine();
    }
    基本验证没加,学习练习的同学可以自己加上
    28种设计模式后续更新
    代码如下:
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    namespace DesignModel
    {
    /// <summary>
    /// 计算器
    /// </summary>
    public class Calculator //创建一个计算器的基类可以接受两个参数,任何算法只需重写计算结果方法即可。
    {
    private double _numberA;
    private double _numberB;
    public double NumberA
    {
    get { return this._numberA; }
    set { this._numberA = value; }
    }
    public double NumberB
    {
    get { return this._numberB; }
    set { this._numberB = value; }
    }
    public virtual double GetResult()
    {
    double result = 0;
    return result;
    }
    }
    /// <summary>
    /// 加法
    /// </summary>
    public class Add : Calculator //每添加一种计算方式只需添加一个计算类并重写基类方法即可
    {
    public override double GetResult()
    {
    return NumberA + NumberB;
    }
    }
    /// <summary>
    /// 减法
    /// </summary>
    public class Sub : Calculator
    {
    public override double GetResult()
    {
    return NumberA + NumberB;
    }
    }
    /// <summary>
    /// 计算器工厂
    /// </summary>
    public class CalculatorFactory
    {
    public static Calculator GetResult(string oper)
    {
    Calculator calcu = null;
    switch (oper)
    {
    case "+":
    calcu = new Add();
    break;
    case "-":
    calcu = new Sub();
    break;
    }
    return calcu;
    }
    }
    }
    本文就是.net设计模式中的简单工厂模式的内容了,非常简单,下一篇,我们来谈谈策略模式
随便看

 

在线学习网考试资料包含高考、自考、专升本考试、人事考试、公务员考试、大学生村官考试、特岗教师招聘考试、事业单位招聘考试、企业人才招聘、银行招聘、教师招聘、农村信用社招聘、各类资格证书考试等各类考试资料。

 

Copyright © 2002-2024 cuapp.net All Rights Reserved
更新时间:2025/5/19 14:29:23