diff --git a/StrategyPattern/Add.cs b/StrategyPattern/Add.cs
new file mode 100644
index 0000000000000000000000000000000000000000..c33c397c6d6c21f707d92c662b293c01ea43994d
--- /dev/null
+++ b/StrategyPattern/Add.cs
@@ -0,0 +1,40 @@
+/*
+ * ----------------------------------------------------------------
+ * 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 double Sum(int num, int num1)
+ {
+ Console.WriteLine($"Add:结果{num+num1}");
+ return num + num1;
+ }
+ }
+}
diff --git a/StrategyPattern/Division.cs b/StrategyPattern/Division.cs
new file mode 100644
index 0000000000000000000000000000000000000000..2c46d3445ade94be0ed29cc3678ece6f85318704
--- /dev/null
+++ b/StrategyPattern/Division.cs
@@ -0,0 +1,40 @@
+/*
+ * ----------------------------------------------------------------
+ * 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 double Sum(int num, int num1)
+ {
+ Console.WriteLine($"division结果为:{(num * 0.1) / (num1 * 0.1)}");
+ return (num * 0.1) / (num1 * 0.1);
+ }
+ }
+}
diff --git a/StrategyPattern/ICalculate.cs b/StrategyPattern/ICalculate.cs
new file mode 100644
index 0000000000000000000000000000000000000000..a66b3aba8cd3ce6290e4c32815afc2ce514b585e
--- /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
+ {
+ ///
+ /// 算数
+ ///
+ ///
+ ///
+ double Sum(int num,int num1);
+ }
+}
diff --git a/StrategyPattern/Multiplication.cs b/StrategyPattern/Multiplication.cs
new file mode 100644
index 0000000000000000000000000000000000000000..306a62c04c09504d5d9db9305e6903cc8c5f635b
--- /dev/null
+++ b/StrategyPattern/Multiplication.cs
@@ -0,0 +1,42 @@
+/*
+ * ----------------------------------------------------------------
+ * 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.Runtime.CompilerServices;
+using System.Text;
+
+namespace StrategyPattern
+{
+ public class Multiplication : ICalculate
+ {
+ public double Sum(int num, int num1)
+ {
+
+ Console.WriteLine($"Multiplication结果为:{num* num1}");
+ return num * num1;
+ }
+ }
+}
diff --git a/StrategyPattern/Program.cs b/StrategyPattern/Program.cs
index ae4d5565b4bf4dd22ef29db3817501c9fc810a78..09ea6703366f37087240de45a68a70cc12eedb0c 100644
--- a/StrategyPattern/Program.cs
+++ b/StrategyPattern/Program.cs
@@ -4,9 +4,27 @@ namespace StrategyPattern
{
internal class Program
{
+ ///
+ /// 策略模式
+ ///
+ ///
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}");
}
}
}
diff --git a/StrategyPattern/Subtraction.cs b/StrategyPattern/Subtraction.cs
new file mode 100644
index 0000000000000000000000000000000000000000..a3ccf6d65789086ad63abaace4091f5552c2e192
--- /dev/null
+++ b/StrategyPattern/Subtraction.cs
@@ -0,0 +1,40 @@
+/*
+ * ----------------------------------------------------------------
+ * 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 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 1502b1f1627137c782b60dd6764328c5379538d2..bdf472ee69e82bbd1b26613a04f3da95e5571bfd 100644
--- a/StrategyPatternTestProject/StrategyPatternTestProject.csproj
+++ b/StrategyPatternTestProject/StrategyPatternTestProject.csproj
@@ -19,4 +19,8 @@
+
+
+
+
diff --git a/StrategyPatternTestProject/UnitTest1.cs b/StrategyPatternTestProject/UnitTest1.cs
index 14f5888866e6acddf3ce3429d57a8b06c33c9d97..ca463cc4dd03fe0e6e3c5b991ddb363779a9df6a 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);
+ }
}
}