From 62a28091cd0e3e1638a81dcbf601adadb200de77 Mon Sep 17 00:00:00 2001 From: "Mr.Fu" <1142105884@qq.com> Date: Sat, 20 Aug 2022 10:36:58 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E5=AE=8C=E6=88=90=E7=AD=96=E7=95=A5?= =?UTF-8?q?=E6=A8=A1=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- StrategyPattern/Add.cs | 39 +++++++++++++++++++++++++++++ StrategyPattern/Division.cs | 39 +++++++++++++++++++++++++++++ StrategyPattern/ICalculate.cs | 41 +++++++++++++++++++++++++++++++ StrategyPattern/Multiplication.cs | 39 +++++++++++++++++++++++++++++ StrategyPattern/Program.cs | 4 +++ StrategyPattern/Subtraction.cs | 39 +++++++++++++++++++++++++++++ 6 files changed, 201 insertions(+) create mode 100644 StrategyPattern/Add.cs create mode 100644 StrategyPattern/Division.cs create mode 100644 StrategyPattern/ICalculate.cs create mode 100644 StrategyPattern/Multiplication.cs create mode 100644 StrategyPattern/Subtraction.cs diff --git a/StrategyPattern/Add.cs b/StrategyPattern/Add.cs new file mode 100644 index 0000000..47df579 --- /dev/null +++ b/StrategyPattern/Add.cs @@ -0,0 +1,39 @@ +/* + * ---------------------------------------------------------------- + * Copyright @ Mr.Fu 2022. All rights reserved. + + * 作 者 :Mr.Fu + + * 创建时间 :2022/8/20 10:26:31 + + * CLR 版本 :4.0.30319.42000 + + * 命名空间 :StrategyPattern + + * 类 名 称 :Add + + * 类 描 述 : + + * ------------------------------------------------------ + * 历史更新记录 + + * 版本 : V1.0.0.0 修改时间:2022/8/20 10:26:31 修改人: + + * 修改内容: + * + */ + +using System; +using System.Collections.Generic; +using System.Text; + +namespace StrategyPattern +{ + public class Add : ICalculate + { + public void Sum(int num, int num1) + { + Console.WriteLine($"Add:结果{num+num1}"); + } + } +} diff --git a/StrategyPattern/Division.cs b/StrategyPattern/Division.cs new file mode 100644 index 0000000..c28af72 --- /dev/null +++ b/StrategyPattern/Division.cs @@ -0,0 +1,39 @@ +/* + * ---------------------------------------------------------------- + * Copyright @ Mr.Fu 2022. All rights reserved. + + * 作 者 :Mr.Fu + + * 创建时间 :2022/8/20 10:33:57 + + * CLR 版本 :4.0.30319.42000 + + * 命名空间 :StrategyPattern + + * 类 名 称 :Division + + * 类 描 述 : + + * ------------------------------------------------------ + * 历史更新记录 + + * 版本 : V1.0.0.0 修改时间:2022/8/20 10:33:57 修改人: + + * 修改内容: + * + */ + +using System; +using System.Collections.Generic; +using System.Text; + +namespace StrategyPattern +{ + public class Division : ICalculate + { + public void Sum(int num, int num1) + { + Console.WriteLine($"division结果为:{num/num1}"); + } + } +} diff --git a/StrategyPattern/ICalculate.cs b/StrategyPattern/ICalculate.cs new file mode 100644 index 0000000..a3814ce --- /dev/null +++ b/StrategyPattern/ICalculate.cs @@ -0,0 +1,41 @@ +/* + * ---------------------------------------------------------------- + * Copyright @ Mr.Fu 2022. All rights reserved. + + * 作 者 :Mr.Fu + + * 创建时间 :2022/8/20 10:11:38 + + * CLR 版本 :4.0.30319.42000 + + * 命名空间 :StrategyPattern + + * 类 名 称 :Icalculate + + * 类 描 述 : + + * ------------------------------------------------------ + * 历史更新记录 + + * 版本 : V1.0.0.0 修改时间:2022/8/20 10:11:38 修改人: + + * 修改内容: + * + */ + +using System; +using System.Collections.Generic; +using System.Text; + +namespace StrategyPattern +{ + public interface ICalculate + { + /// + /// 算数 + /// + /// + /// + void Sum(int num,int num1); + } +} diff --git a/StrategyPattern/Multiplication.cs b/StrategyPattern/Multiplication.cs new file mode 100644 index 0000000..217f561 --- /dev/null +++ b/StrategyPattern/Multiplication.cs @@ -0,0 +1,39 @@ +/* + * ---------------------------------------------------------------- + * Copyright @ Mr.Fu 2022. All rights reserved. + + * 作 者 :Mr.Fu + + * 创建时间 :2022/8/20 10:31:00 + + * CLR 版本 :4.0.30319.42000 + + * 命名空间 :StrategyPattern + + * 类 名 称 :Multiplication + + * 类 描 述 : + + * ------------------------------------------------------ + * 历史更新记录 + + * 版本 : V1.0.0.0 修改时间:2022/8/20 10:31:00 修改人: + + * 修改内容: + * + */ + +using System; +using System.Collections.Generic; +using System.Text; + +namespace StrategyPattern +{ + public class Multiplication : ICalculate + { + public void Sum(int num, int num1) + { + Console.WriteLine($"Multiplication结果为:{num* num1}"); + } + } +} diff --git a/StrategyPattern/Program.cs b/StrategyPattern/Program.cs index ae4d556..13fbf68 100644 --- a/StrategyPattern/Program.cs +++ b/StrategyPattern/Program.cs @@ -4,6 +4,10 @@ namespace StrategyPattern { internal class Program { + /// + /// 策略模式 + /// + /// static void Main(string[] args) { Console.WriteLine("Hello World!"); diff --git a/StrategyPattern/Subtraction.cs b/StrategyPattern/Subtraction.cs new file mode 100644 index 0000000..3c8f05a --- /dev/null +++ b/StrategyPattern/Subtraction.cs @@ -0,0 +1,39 @@ +/* + * ---------------------------------------------------------------- + * Copyright @ Mr.Fu 2022. All rights reserved. + + * 作 者 :Mr.Fu + + * 创建时间 :2022/8/20 10:27:47 + + * CLR 版本 :4.0.30319.42000 + + * 命名空间 :StrategyPattern + + * 类 名 称 :Subtraction + + * 类 描 述 : + + * ------------------------------------------------------ + * 历史更新记录 + + * 版本 : V1.0.0.0 修改时间:2022/8/20 10:27:47 修改人: + + * 修改内容: + * + */ + +using System; +using System.Collections.Generic; +using System.Text; + +namespace StrategyPattern +{ + public class Subtraction : ICalculate + { + public void Sum(int num, int num1) + { + Console.WriteLine($"Subtraction结果:{num- num1}"); + } + } +} -- Gitee From d243fb351c94d80361f30ac2396fa9de9a894324 Mon Sep 17 00:00:00 2001 From: "Mr.Fu" <1142105884@qq.com> Date: Sat, 20 Aug 2022 17:17:12 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=8D=95=E5=85=83?= =?UTF-8?q?=E6=B5=8B=E8=AF=95=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- StrategyPattern/Add.cs | 3 +- StrategyPattern/Division.cs | 8 ++-- StrategyPattern/ICalculate.cs | 2 +- StrategyPattern/Multiplication.cs | 5 ++- StrategyPattern/Subtraction.cs | 5 ++- .../StrategyPatternTestProject.csproj | 4 ++ StrategyPatternTestProject/UnitTest1.cs | 38 +++++++++++++++++-- 7 files changed, 53 insertions(+), 12 deletions(-) diff --git a/StrategyPattern/Add.cs b/StrategyPattern/Add.cs index 47df579..c33c397 100644 --- a/StrategyPattern/Add.cs +++ b/StrategyPattern/Add.cs @@ -31,9 +31,10 @@ namespace StrategyPattern { public class Add : ICalculate { - public void Sum(int num, int num1) + public double Sum(int num, int num1) { Console.WriteLine($"Add:结果{num+num1}"); + return num + num1; } } } diff --git a/StrategyPattern/Division.cs b/StrategyPattern/Division.cs index c28af72..8b1d593 100644 --- a/StrategyPattern/Division.cs +++ b/StrategyPattern/Division.cs @@ -31,9 +31,11 @@ namespace StrategyPattern { public class Division : ICalculate { - public void Sum(int num, int num1) - { - Console.WriteLine($"division结果为:{num/num1}"); + public double Sum(int num, int num1) + { + Console.WriteLine($"division结果为:{num / num1}"); + double aa = (num * 0.1) / (num1 * 0.1); + return (num * 0.1) / (num1 * 0.1); } } } diff --git a/StrategyPattern/ICalculate.cs b/StrategyPattern/ICalculate.cs index a3814ce..a66b3ab 100644 --- a/StrategyPattern/ICalculate.cs +++ b/StrategyPattern/ICalculate.cs @@ -36,6 +36,6 @@ namespace StrategyPattern /// /// /// - void Sum(int num,int num1); + double Sum(int num,int num1); } } diff --git a/StrategyPattern/Multiplication.cs b/StrategyPattern/Multiplication.cs index 217f561..306a62c 100644 --- a/StrategyPattern/Multiplication.cs +++ b/StrategyPattern/Multiplication.cs @@ -25,15 +25,18 @@ using System; using System.Collections.Generic; +using System.Runtime.CompilerServices; using System.Text; namespace StrategyPattern { public class Multiplication : ICalculate { - public void Sum(int num, int num1) + public double Sum(int num, int num1) { + Console.WriteLine($"Multiplication结果为:{num* num1}"); + return num * num1; } } } diff --git a/StrategyPattern/Subtraction.cs b/StrategyPattern/Subtraction.cs index 3c8f05a..a3ccf6d 100644 --- a/StrategyPattern/Subtraction.cs +++ b/StrategyPattern/Subtraction.cs @@ -31,9 +31,10 @@ namespace StrategyPattern { public class Subtraction : ICalculate { - public void Sum(int num, int num1) - { + public double Sum(int num, int num1) + { Console.WriteLine($"Subtraction结果:{num- num1}"); + return num - num1; } } } diff --git a/StrategyPatternTestProject/StrategyPatternTestProject.csproj b/StrategyPatternTestProject/StrategyPatternTestProject.csproj index 1502b1f..bdf472e 100644 --- a/StrategyPatternTestProject/StrategyPatternTestProject.csproj +++ b/StrategyPatternTestProject/StrategyPatternTestProject.csproj @@ -19,4 +19,8 @@ + + + + diff --git a/StrategyPatternTestProject/UnitTest1.cs b/StrategyPatternTestProject/UnitTest1.cs index 14f5888..ca463cc 100644 --- a/StrategyPatternTestProject/UnitTest1.cs +++ b/StrategyPatternTestProject/UnitTest1.cs @@ -1,3 +1,4 @@ +using StrategyPattern; using System; using Xunit; @@ -5,10 +6,39 @@ namespace StrategyPatternTestProject { public class UnitTest1 { - [Fact] - public void Test1() + + + [Theory] + [InlineData(1,2)] + public void AddTest1(int num,int num1) { - - } + ICalculate calculate = new Add(); + double result = calculate.Sum(num,num1); + Assert.Equal(3, result); + } + [Theory] + [InlineData(1, 2)] + public void DivisionTest1(int num, int num1) + { + ICalculate calculate1 = new Division(); + double result1 = calculate1.Sum(num, num1); + Assert.Equal(0.5, result1); + } + [Theory] + [InlineData(1, 2)] + public void MultiplicationTest1(int num, int num1) + { + ICalculate calculate2 = new Multiplication(); + double result2 = calculate2.Sum(num, num1); + Assert.Equal(2, result2); + } + [Theory] + [InlineData(1, 2)] + public void SubtractionTest1(int num, int num1) + { + ICalculate calculate3 = new Subtraction(); + double result3 = calculate3.Sum(num, num1); + Assert.Equal(-1, result3); + } } } -- Gitee From 517fc047351f0a302d9b04fdf518a96ad5d785a7 Mon Sep 17 00:00:00 2001 From: "Mr.Fu" <1142105884@qq.com> Date: Sat, 20 Aug 2022 17:34:49 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E5=90=AF=E5=8A=A8=E7=B1=BB=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E6=B5=8B=E8=AF=95=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- StrategyPattern/Division.cs | 3 +-- StrategyPattern/Program.cs | 16 +++++++++++++++- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/StrategyPattern/Division.cs b/StrategyPattern/Division.cs index 8b1d593..2c46d34 100644 --- a/StrategyPattern/Division.cs +++ b/StrategyPattern/Division.cs @@ -33,8 +33,7 @@ namespace StrategyPattern { public double Sum(int num, int num1) { - Console.WriteLine($"division结果为:{num / num1}"); - double aa = (num * 0.1) / (num1 * 0.1); + Console.WriteLine($"division结果为:{(num * 0.1) / (num1 * 0.1)}"); return (num * 0.1) / (num1 * 0.1); } } diff --git a/StrategyPattern/Program.cs b/StrategyPattern/Program.cs index 13fbf68..09ea670 100644 --- a/StrategyPattern/Program.cs +++ b/StrategyPattern/Program.cs @@ -10,7 +10,21 @@ namespace StrategyPattern /// static void Main(string[] args) { - Console.WriteLine("Hello World!"); + ICalculate calculate = new Add(); + double result = calculate.Sum(1, 2); + Console.WriteLine($"Add:{result}"); + + ICalculate calculate1 = new Division(); + double result1 = calculate1.Sum(1, 2); + Console.WriteLine($"Division:{result1}"); + + ICalculate calculate2 = new Multiplication(); + double result2 = calculate2.Sum(1, 2); + Console.WriteLine($"Multiplication:{result2}"); + + ICalculate calculate3 = new Subtraction(); + double result3 = calculate3.Sum(1, 2); + Console.WriteLine($"Subtraction:{result3}"); } } } -- Gitee