《浅析.net简洁工厂模式_.docx》由会员分享,可在线阅读,更多相关《浅析.net简洁工厂模式_.docx(9页珍藏版)》请在三一文库上搜索。
1、浅析.net简洁工厂模式_ 程时一门技术,更是一门艺术 简洁工厂模式利用面对对象方式通过继承、封装、多态把程序的耦合度降低,设计模式使得程序更加敏捷,简单修改,易于复用。 下面是服务器计算器代码: 代码如下: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DesignModel / summary / 计算器 / /summary public class Calculator /创建一个计
2、算器的基类可以接受两个参数,任何算法只需重写计算结果方法即可。 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;
3、/ 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 c
4、lass 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(); Co
5、nsole.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(012=3, numbera,
6、 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 /创建一个计算器的基类可以接受两个参数,任
7、何算法只需重写计算结果方法即可。 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 / 加法
8、/ /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设计模式中的简洁工厂模式的内容了,特别简洁,下一篇,我们来谈谈策略模式 更多信息请查看IT技术专栏 .