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