diff --git a/DesignPattern/Adapter/Adapter.csproj b/DesignPattern/Adapter/Adapter.csproj
index d2d6409..117f9f3 100644
--- a/DesignPattern/Adapter/Adapter.csproj
+++ b/DesignPattern/Adapter/Adapter.csproj
@@ -8,7 +8,7 @@
Exe
Adapter
Adapter
- v4.8.1
+ v4.5
512
true
true
diff --git a/DesignPattern/Adapter/App.config b/DesignPattern/Adapter/App.config
index 5ab1a35..d1428ad 100644
--- a/DesignPattern/Adapter/App.config
+++ b/DesignPattern/Adapter/App.config
@@ -1,6 +1,6 @@
-
+
diff --git a/DesignPattern/Bridge/App.config b/DesignPattern/Bridge/App.config
index 5ab1a35..d1428ad 100644
--- a/DesignPattern/Bridge/App.config
+++ b/DesignPattern/Bridge/App.config
@@ -1,6 +1,6 @@
-
+
diff --git a/DesignPattern/Bridge/Bridge.csproj b/DesignPattern/Bridge/Bridge.csproj
index 322ed68..6177a57 100644
--- a/DesignPattern/Bridge/Bridge.csproj
+++ b/DesignPattern/Bridge/Bridge.csproj
@@ -8,7 +8,7 @@
Exe
Bridge
Bridge
- v4.8.1
+ v4.5
512
true
true
diff --git a/DesignPattern/Builder/App.config b/DesignPattern/Builder/App.config
index 5ab1a35..d1428ad 100644
--- a/DesignPattern/Builder/App.config
+++ b/DesignPattern/Builder/App.config
@@ -1,6 +1,6 @@
-
+
diff --git a/DesignPattern/Builder/Builder.csproj b/DesignPattern/Builder/Builder.csproj
index 1de26c9..ee891eb 100644
--- a/DesignPattern/Builder/Builder.csproj
+++ b/DesignPattern/Builder/Builder.csproj
@@ -8,7 +8,7 @@
Exe
Builder
Builder
- v4.8.1
+ v4.5
512
true
true
diff --git a/DesignPattern/ChainOfResponsibility/App.config b/DesignPattern/ChainOfResponsibility/App.config
index aee9adf..d1428ad 100644
--- a/DesignPattern/ChainOfResponsibility/App.config
+++ b/DesignPattern/ChainOfResponsibility/App.config
@@ -1,6 +1,6 @@
-
+
-
+
-
\ No newline at end of file
+
diff --git a/DesignPattern/ChainOfResponsibility/ChainOfResponsibility.csproj b/DesignPattern/ChainOfResponsibility/ChainOfResponsibility.csproj
index b6cb52f..bd9a754 100644
--- a/DesignPattern/ChainOfResponsibility/ChainOfResponsibility.csproj
+++ b/DesignPattern/ChainOfResponsibility/ChainOfResponsibility.csproj
@@ -8,10 +8,11 @@
Exe
ChainOfResponsibility
ChainOfResponsibility
- v4.8.1
+ v4.5
512
true
true
+
AnyCPU
diff --git a/DesignPattern/Command/App.config b/DesignPattern/Command/App.config
index aee9adf..d1428ad 100644
--- a/DesignPattern/Command/App.config
+++ b/DesignPattern/Command/App.config
@@ -1,6 +1,6 @@
-
+
-
+
-
\ No newline at end of file
+
diff --git a/DesignPattern/Command/Command.csproj b/DesignPattern/Command/Command.csproj
index 2adb7ad..5aac986 100644
--- a/DesignPattern/Command/Command.csproj
+++ b/DesignPattern/Command/Command.csproj
@@ -8,10 +8,11 @@
Exe
Command
Command
- v4.8.1
+ v4.5
512
true
true
+
AnyCPU
diff --git a/DesignPattern/Composite/App.config b/DesignPattern/Composite/App.config
index 5ab1a35..d1428ad 100644
--- a/DesignPattern/Composite/App.config
+++ b/DesignPattern/Composite/App.config
@@ -1,6 +1,6 @@
-
+
diff --git a/DesignPattern/Composite/Composite.csproj b/DesignPattern/Composite/Composite.csproj
index 287109a..77b7a56 100644
--- a/DesignPattern/Composite/Composite.csproj
+++ b/DesignPattern/Composite/Composite.csproj
@@ -8,7 +8,7 @@
Exe
Composite
Composite
- v4.8.1
+ v4.5
512
true
true
diff --git a/DesignPattern/Decorator/App.config b/DesignPattern/Decorator/App.config
index 5ab1a35..d1428ad 100644
--- a/DesignPattern/Decorator/App.config
+++ b/DesignPattern/Decorator/App.config
@@ -1,6 +1,6 @@
-
+
diff --git a/DesignPattern/Decorator/Decorator.csproj b/DesignPattern/Decorator/Decorator.csproj
index d16d0e0..81a7232 100644
--- a/DesignPattern/Decorator/Decorator.csproj
+++ b/DesignPattern/Decorator/Decorator.csproj
@@ -8,7 +8,7 @@
Exe
Decorator
Decorator
- v4.8.1
+ v4.5
512
true
true
diff --git a/DesignPattern/DesignPattern.sln b/DesignPattern/DesignPattern.sln
index 512e39d..f512474 100644
--- a/DesignPattern/DesignPattern.sln
+++ b/DesignPattern/DesignPattern.sln
@@ -1,7 +1,7 @@
Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio Version 17
-VisualStudioVersion = 17.3.32811.315
+# Visual Studio 2013
+VisualStudioVersion = 12.0.40629.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Singleton", "Singleton\Singleton.csproj", "{37FE4D0C-A213-4EA5-B3EF-DB2DB3971ACE}"
EndProject
@@ -43,6 +43,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "State", "State\State.csproj
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "State-VendingMachineExample", "State-VendingMachineExample\State-VendingMachineExample.csproj", "{ED14B6E2-04BB-4F77-80E7-C5F0E945B750}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FSM", "FSM\FSM.csproj", "{2134D7A9-3A4B-4DA8-871E-96B913D89288}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -129,6 +131,10 @@ Global
{ED14B6E2-04BB-4F77-80E7-C5F0E945B750}.Debug|Any CPU.Build.0 = Debug|Any CPU
{ED14B6E2-04BB-4F77-80E7-C5F0E945B750}.Release|Any CPU.ActiveCfg = Release|Any CPU
{ED14B6E2-04BB-4F77-80E7-C5F0E945B750}.Release|Any CPU.Build.0 = Release|Any CPU
+ {2134D7A9-3A4B-4DA8-871E-96B913D89288}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {2134D7A9-3A4B-4DA8-871E-96B913D89288}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {2134D7A9-3A4B-4DA8-871E-96B913D89288}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {2134D7A9-3A4B-4DA8-871E-96B913D89288}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/DesignPattern/FSM/App.config b/DesignPattern/FSM/App.config
new file mode 100644
index 0000000..4bfa005
--- /dev/null
+++ b/DesignPattern/FSM/App.config
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/DesignPattern/FSM/FSM.csproj b/DesignPattern/FSM/FSM.csproj
new file mode 100644
index 0000000..459a5cd
--- /dev/null
+++ b/DesignPattern/FSM/FSM.csproj
@@ -0,0 +1,67 @@
+
+
+
+
+ Debug
+ AnyCPU
+ {2134D7A9-3A4B-4DA8-871E-96B913D89288}
+ Exe
+ Properties
+ FSM
+ FSM
+ v4.8
+ 512
+
+
+
+ AnyCPU
+ true
+ full
+ false
+ bin\Debug\
+ DEBUG;TRACE
+ prompt
+ 4
+
+
+ AnyCPU
+ pdbonly
+ true
+ bin\Release\
+ TRACE
+ prompt
+ 4
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/DesignPattern/FSM/Machines/EquipmentEvent.cs b/DesignPattern/FSM/Machines/EquipmentEvent.cs
new file mode 100644
index 0000000..8e7d606
--- /dev/null
+++ b/DesignPattern/FSM/Machines/EquipmentEvent.cs
@@ -0,0 +1,17 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace FSM.Machines
+{
+ public enum EquipmentEvent
+ {
+ Start,
+ Pause,
+ Resume,
+ Stop,
+ EmergencyStop,
+ }
+}
diff --git a/DesignPattern/FSM/Machines/EquipmentStateMachine.cs b/DesignPattern/FSM/Machines/EquipmentStateMachine.cs
new file mode 100644
index 0000000..382303f
--- /dev/null
+++ b/DesignPattern/FSM/Machines/EquipmentStateMachine.cs
@@ -0,0 +1,62 @@
+using FSM.States;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace FSM.Machines
+{
+ public class EquipmentEventHandler
+ {
+ public IEquipmentState CurrentState { get; private set; }
+ public EquipmentEvent EquipmentEvent { get; private set; }
+ public string Message { get; private set; }
+
+ public EquipmentEventHandler(IEquipmentState currentState, EquipmentEvent equipmentEvent, string message)
+ {
+ CurrentState = currentState;
+ EquipmentEvent = equipmentEvent;
+ Message = message;
+ }
+ }
+
+ public class EquipmentStateMachine
+ {
+ private IEquipmentState _currentState;
+
+ public event EventHandler OnHandleEvent;
+
+ public EquipmentStateMachine(IEquipmentState initialState)
+ {
+ _currentState = initialState;
+ _currentState.Enter();
+ }
+
+ public void SetState(IEquipmentState newState)
+ {
+ _currentState.Exit();
+ _currentState = newState;
+ _currentState.Enter();
+ }
+
+ public void HandleEvent(EquipmentEvent equipmentEvent)
+ {
+ if (OnHandleEvent != null)
+ OnHandleEvent(this, new EquipmentEventHandler(_currentState, equipmentEvent, "HandleEvent called"));
+
+ bool handleResult = _currentState.HandleEvent(equipmentEvent, this);
+ if (OnHandleEvent != null)
+ {
+ string message;
+
+ if (handleResult)
+ message = "Success to handle the event";
+ else
+ message = "Fail to handle the event";
+
+ OnHandleEvent(this, new EquipmentEventHandler(_currentState, equipmentEvent, message));
+ }
+ }
+ }
+}
diff --git a/DesignPattern/FSM/Program.cs b/DesignPattern/FSM/Program.cs
new file mode 100644
index 0000000..dc7b685
--- /dev/null
+++ b/DesignPattern/FSM/Program.cs
@@ -0,0 +1,59 @@
+using FSM.Machines;
+using FSM.States;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading;
+using System.Threading.Tasks;
+
+namespace FSM
+{
+ class Program
+ {
+ static void Main(string[] args)
+ {
+ PrintMessage("********** Start of the program **********");
+
+ IEquipmentState initialState = new IdleState();
+ var machine = new EquipmentStateMachine(initialState);
+ machine.OnHandleEvent -= machine_OnHandleEvent;
+ machine.OnHandleEvent += machine_OnHandleEvent;
+
+ List eventCommands = new List()
+ {
+ EquipmentEvent.Start,
+ EquipmentEvent.Pause,
+ EquipmentEvent.Resume,
+ EquipmentEvent.Stop,
+ EquipmentEvent.Start,
+ EquipmentEvent.EmergencyStop,
+ EquipmentEvent.Resume,
+ EquipmentEvent.Stop,
+ EquipmentEvent.Start,
+ EquipmentEvent.Stop,
+ };
+
+ foreach (EquipmentEvent evt in eventCommands)
+ {
+ machine.HandleEvent(evt);
+ Thread.Sleep(1000);
+ }
+
+ PrintMessage("********** End of the program **********" + Environment.NewLine);
+ PrintMessage("********** Press any key to exit the program **********");
+ Console.ReadKey();
+ }
+
+ private static void machine_OnHandleEvent(object sender, EquipmentEventHandler e)
+ {
+ string message = string.Format("{0} (State: {1}, Event: {2})", e.Message, e.CurrentState, e.EquipmentEvent);
+ PrintMessage(message);
+ }
+
+ static void PrintMessage(string message)
+ {
+ Console.WriteLine(string.Format("[{0}] {1}", DateTime.Now, message));
+ }
+ }
+}
diff --git a/DesignPattern/FSM/Properties/AssemblyInfo.cs b/DesignPattern/FSM/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..64ba06f
--- /dev/null
+++ b/DesignPattern/FSM/Properties/AssemblyInfo.cs
@@ -0,0 +1,36 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// 어셈블리의 일반 정보는 다음 특성 집합을 통해 제어됩니다.
+// 어셈블리와 관련된 정보를 수정하려면
+// 이 특성 값을 변경하십시오.
+[assembly: AssemblyTitle("FSM")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("FSM")]
+[assembly: AssemblyCopyright("Copyright © 2024")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// ComVisible을 false로 설정하면 이 어셈블리의 형식이 COM 구성 요소에
+// 표시되지 않습니다. COM에서 이 어셈블리의 형식에 액세스하려면
+// 해당 형식에 대해 ComVisible 특성을 true로 설정하십시오.
+[assembly: ComVisible(false)]
+
+// 이 프로젝트가 COM에 노출되는 경우 다음 GUID는 typelib의 ID를 나타냅니다.
+[assembly: Guid("6b478191-f47e-47cc-b9d4-3fb2460029b6")]
+
+// 어셈블리의 버전 정보는 다음 네 가지 값으로 구성됩니다.
+//
+// 주 버전
+// 부 버전
+// 빌드 번호
+// 수정 버전
+//
+// 모든 값을 지정하거나 아래와 같이 '*'를 사용하여 빌드 번호 및 수정 버전이 자동으로
+// 지정되도록 할 수 있습니다.
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/DesignPattern/FSM/States/EmergencyStoppedState.cs b/DesignPattern/FSM/States/EmergencyStoppedState.cs
new file mode 100644
index 0000000..4971632
--- /dev/null
+++ b/DesignPattern/FSM/States/EmergencyStoppedState.cs
@@ -0,0 +1,34 @@
+using FSM.Machines;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace FSM.States
+{
+ class EmergencyStoppedState : IEquipmentState
+ {
+ public void Enter()
+ {
+ Console.WriteLine("Entering EmergencyStoppedState");
+ }
+
+ public void Exit()
+ {
+ Console.WriteLine("Exiting EmergencyStoppedState");
+ }
+
+ public bool HandleEvent(EquipmentEvent equipmentEvent, Machines.EquipmentStateMachine machine)
+ {
+ switch (equipmentEvent)
+ {
+ case EquipmentEvent.Stop:
+ machine.SetState(new IdleState());
+ return true;
+ default:
+ return false;
+ }
+ }
+ }
+}
diff --git a/DesignPattern/FSM/States/IEquipmentState.cs b/DesignPattern/FSM/States/IEquipmentState.cs
new file mode 100644
index 0000000..9db7557
--- /dev/null
+++ b/DesignPattern/FSM/States/IEquipmentState.cs
@@ -0,0 +1,17 @@
+using FSM.Machines;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace FSM.States
+{
+ public interface IEquipmentState
+ {
+ void Enter();
+ void Exit();
+
+ bool HandleEvent(EquipmentEvent equipmentEvent, EquipmentStateMachine machine);
+ }
+}
diff --git a/DesignPattern/FSM/States/IdleState.cs b/DesignPattern/FSM/States/IdleState.cs
new file mode 100644
index 0000000..e1fca3d
--- /dev/null
+++ b/DesignPattern/FSM/States/IdleState.cs
@@ -0,0 +1,37 @@
+using FSM.Machines;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace FSM.States
+{
+ class IdleState : IEquipmentState
+ {
+ public void Enter()
+ {
+ Console.WriteLine("Entering IdleState");
+ }
+
+ public void Exit()
+ {
+ Console.WriteLine("Exiting IdleState");
+ }
+
+ public bool HandleEvent(EquipmentEvent equipmentEvent, Machines.EquipmentStateMachine machine)
+ {
+ switch (equipmentEvent)
+ {
+ case EquipmentEvent.Start:
+ machine.SetState(new RunningState());
+ return true;
+ case EquipmentEvent.EmergencyStop:
+ machine.SetState(new EmergencyStoppedState());
+ return true;
+ default:
+ return false;
+ }
+ }
+ }
+}
diff --git a/DesignPattern/FSM/States/PausedState.cs b/DesignPattern/FSM/States/PausedState.cs
new file mode 100644
index 0000000..9ce9056
--- /dev/null
+++ b/DesignPattern/FSM/States/PausedState.cs
@@ -0,0 +1,40 @@
+using FSM.Machines;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace FSM.States
+{
+ class PausedState : IEquipmentState
+ {
+ public void Enter()
+ {
+ Console.WriteLine("Entering PausedState");
+ }
+
+ public void Exit()
+ {
+ Console.WriteLine("Exiting PausedState");
+ }
+
+ public bool HandleEvent(EquipmentEvent equipmentEvent, Machines.EquipmentStateMachine machine)
+ {
+ switch (equipmentEvent)
+ {
+ case EquipmentEvent.Resume:
+ machine.SetState(new RunningState());
+ return true;
+ case EquipmentEvent.Stop:
+ machine.SetState(new IdleState());
+ return true;
+ case EquipmentEvent.EmergencyStop:
+ machine.SetState(new EmergencyStoppedState());
+ return true;
+ default:
+ return false;
+ }
+ }
+ }
+}
diff --git a/DesignPattern/FSM/States/RunningState.cs b/DesignPattern/FSM/States/RunningState.cs
new file mode 100644
index 0000000..bed7447
--- /dev/null
+++ b/DesignPattern/FSM/States/RunningState.cs
@@ -0,0 +1,40 @@
+using FSM.Machines;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace FSM.States
+{
+ class RunningState : IEquipmentState
+ {
+ public void Enter()
+ {
+ Console.WriteLine("Entering RunningState");
+ }
+
+ public void Exit()
+ {
+ Console.WriteLine("Exiting RunningState");
+ }
+
+ public bool HandleEvent(EquipmentEvent equipmentEvent, Machines.EquipmentStateMachine machine)
+ {
+ switch (equipmentEvent)
+ {
+ case EquipmentEvent.Pause:
+ machine.SetState(new PausedState());
+ return true;
+ case EquipmentEvent.Stop:
+ machine.SetState(new IdleState());
+ return true;
+ case EquipmentEvent.EmergencyStop:
+ machine.SetState(new EmergencyStoppedState());
+ return true;
+ default:
+ return false;
+ }
+ }
+ }
+}
diff --git a/DesignPattern/Facade/App.config b/DesignPattern/Facade/App.config
index 5ab1a35..d1428ad 100644
--- a/DesignPattern/Facade/App.config
+++ b/DesignPattern/Facade/App.config
@@ -1,6 +1,6 @@
-
+
diff --git a/DesignPattern/Facade/Facade.csproj b/DesignPattern/Facade/Facade.csproj
index 19e9dc2..8b371a7 100644
--- a/DesignPattern/Facade/Facade.csproj
+++ b/DesignPattern/Facade/Facade.csproj
@@ -8,7 +8,7 @@
Exe
Facade
Facade
- v4.8.1
+ v4.5
512
true
true
diff --git a/DesignPattern/Factory/App.config b/DesignPattern/Factory/App.config
index 5ab1a35..d1428ad 100644
--- a/DesignPattern/Factory/App.config
+++ b/DesignPattern/Factory/App.config
@@ -1,6 +1,6 @@
-
+
diff --git a/DesignPattern/Factory/Factory.csproj b/DesignPattern/Factory/Factory.csproj
index 5c580ce..765c2c1 100644
--- a/DesignPattern/Factory/Factory.csproj
+++ b/DesignPattern/Factory/Factory.csproj
@@ -8,7 +8,7 @@
Exe
Factory
Factory
- v4.8.1
+ v4.5
512
true
true
diff --git a/DesignPattern/Iterator/App.config b/DesignPattern/Iterator/App.config
index aee9adf..d1428ad 100644
--- a/DesignPattern/Iterator/App.config
+++ b/DesignPattern/Iterator/App.config
@@ -1,6 +1,6 @@
-
+
-
+
-
\ No newline at end of file
+
diff --git a/DesignPattern/Iterator/Iterator.csproj b/DesignPattern/Iterator/Iterator.csproj
index cc1273a..e183bcb 100644
--- a/DesignPattern/Iterator/Iterator.csproj
+++ b/DesignPattern/Iterator/Iterator.csproj
@@ -8,10 +8,11 @@
Exe
Iterator
Iterator
- v4.8.1
+ v4.5
512
true
true
+
AnyCPU
diff --git a/DesignPattern/ObjectPool/App.config b/DesignPattern/ObjectPool/App.config
index 5ab1a35..d1428ad 100644
--- a/DesignPattern/ObjectPool/App.config
+++ b/DesignPattern/ObjectPool/App.config
@@ -1,6 +1,6 @@
-
+
diff --git a/DesignPattern/ObjectPool/ObjectPool.csproj b/DesignPattern/ObjectPool/ObjectPool.csproj
index 35458e2..11b2d2e 100644
--- a/DesignPattern/ObjectPool/ObjectPool.csproj
+++ b/DesignPattern/ObjectPool/ObjectPool.csproj
@@ -8,7 +8,7 @@
Exe
ObjectPool
ObjectPool
- v4.8.1
+ v4.5
512
true
true
diff --git a/DesignPattern/Observer/App.config b/DesignPattern/Observer/App.config
index aee9adf..d1428ad 100644
--- a/DesignPattern/Observer/App.config
+++ b/DesignPattern/Observer/App.config
@@ -1,6 +1,6 @@
-
+
-
+
-
\ No newline at end of file
+
diff --git a/DesignPattern/Observer/Observer.csproj b/DesignPattern/Observer/Observer.csproj
index 569e296..1ad7f93 100644
--- a/DesignPattern/Observer/Observer.csproj
+++ b/DesignPattern/Observer/Observer.csproj
@@ -8,10 +8,11 @@
Exe
Observer
Observer
- v4.8.1
+ v4.5
512
true
true
+
AnyCPU
diff --git a/DesignPattern/Prototype/App.config b/DesignPattern/Prototype/App.config
index 5ab1a35..d1428ad 100644
--- a/DesignPattern/Prototype/App.config
+++ b/DesignPattern/Prototype/App.config
@@ -1,6 +1,6 @@
-
+
diff --git a/DesignPattern/Prototype/Prototype.csproj b/DesignPattern/Prototype/Prototype.csproj
index 054184a..4a3fdd0 100644
--- a/DesignPattern/Prototype/Prototype.csproj
+++ b/DesignPattern/Prototype/Prototype.csproj
@@ -8,7 +8,7 @@
Exe
Prototype
Prototype
- v4.8.1
+ v4.5
512
true
true
diff --git a/DesignPattern/Proxy/App.config b/DesignPattern/Proxy/App.config
index 5ab1a35..d1428ad 100644
--- a/DesignPattern/Proxy/App.config
+++ b/DesignPattern/Proxy/App.config
@@ -1,6 +1,6 @@
-
+
diff --git a/DesignPattern/Proxy/Proxy.csproj b/DesignPattern/Proxy/Proxy.csproj
index 68457c2..cdd9359 100644
--- a/DesignPattern/Proxy/Proxy.csproj
+++ b/DesignPattern/Proxy/Proxy.csproj
@@ -8,7 +8,7 @@
Exe
Proxy
Proxy
- v4.8.1
+ v4.5
512
true
true
diff --git a/DesignPattern/Singleton/App.config b/DesignPattern/Singleton/App.config
index 5ab1a35..d1428ad 100644
--- a/DesignPattern/Singleton/App.config
+++ b/DesignPattern/Singleton/App.config
@@ -1,6 +1,6 @@
-
+
diff --git a/DesignPattern/Singleton/Singleton.csproj b/DesignPattern/Singleton/Singleton.csproj
index 8163287..825b15c 100644
--- a/DesignPattern/Singleton/Singleton.csproj
+++ b/DesignPattern/Singleton/Singleton.csproj
@@ -8,7 +8,7 @@
Exe
Singleton
Singleton
- v4.8.1
+ v4.5
512
true
true
diff --git a/DesignPattern/State-VendingMachineExample/App.config b/DesignPattern/State-VendingMachineExample/App.config
index aee9adf..d1428ad 100644
--- a/DesignPattern/State-VendingMachineExample/App.config
+++ b/DesignPattern/State-VendingMachineExample/App.config
@@ -1,6 +1,6 @@
-
+
-
+
-
\ No newline at end of file
+
diff --git a/DesignPattern/State-VendingMachineExample/State-VendingMachineExample.csproj b/DesignPattern/State-VendingMachineExample/State-VendingMachineExample.csproj
index 2b31148..935d3d0 100644
--- a/DesignPattern/State-VendingMachineExample/State-VendingMachineExample.csproj
+++ b/DesignPattern/State-VendingMachineExample/State-VendingMachineExample.csproj
@@ -8,10 +8,11 @@
Exe
State_VendingMachineExample
State-VendingMachineExample
- v4.8.1
+ v4.5
512
true
true
+
AnyCPU
diff --git a/DesignPattern/State/App.config b/DesignPattern/State/App.config
index aee9adf..d1428ad 100644
--- a/DesignPattern/State/App.config
+++ b/DesignPattern/State/App.config
@@ -1,6 +1,6 @@
-
+
-
+
-
\ No newline at end of file
+
diff --git a/DesignPattern/State/State.csproj b/DesignPattern/State/State.csproj
index 06d3836..cdd2a01 100644
--- a/DesignPattern/State/State.csproj
+++ b/DesignPattern/State/State.csproj
@@ -8,10 +8,11 @@
Exe
State
State
- v4.8.1
+ v4.5
512
true
true
+
AnyCPU
diff --git a/DesignPattern/Strategy/App.config b/DesignPattern/Strategy/App.config
index aee9adf..d1428ad 100644
--- a/DesignPattern/Strategy/App.config
+++ b/DesignPattern/Strategy/App.config
@@ -1,6 +1,6 @@
-
+
-
+
-
\ No newline at end of file
+
diff --git a/DesignPattern/Strategy/Strategy.csproj b/DesignPattern/Strategy/Strategy.csproj
index cfb8696..5cade7e 100644
--- a/DesignPattern/Strategy/Strategy.csproj
+++ b/DesignPattern/Strategy/Strategy.csproj
@@ -8,10 +8,11 @@
Exe
Strategy
Strategy
- v4.8.1
+ v4.5
512
true
true
+
AnyCPU
diff --git a/DesignPattern/Template/App.config b/DesignPattern/Template/App.config
index aee9adf..d1428ad 100644
--- a/DesignPattern/Template/App.config
+++ b/DesignPattern/Template/App.config
@@ -1,6 +1,6 @@
-
+
-
+
-
\ No newline at end of file
+
diff --git a/DesignPattern/Template/Template.csproj b/DesignPattern/Template/Template.csproj
index c6f01d5..dc863dd 100644
--- a/DesignPattern/Template/Template.csproj
+++ b/DesignPattern/Template/Template.csproj
@@ -8,10 +8,11 @@
Exe
Template
Template
- v4.8.1
+ v4.5
512
true
true
+
AnyCPU
diff --git a/DesignPattern/Visitor/App.config b/DesignPattern/Visitor/App.config
index aee9adf..d1428ad 100644
--- a/DesignPattern/Visitor/App.config
+++ b/DesignPattern/Visitor/App.config
@@ -1,6 +1,6 @@
-
+
-
+
-
\ No newline at end of file
+
diff --git a/DesignPattern/Visitor/Visitor.csproj b/DesignPattern/Visitor/Visitor.csproj
index 54f63c8..18f92b9 100644
--- a/DesignPattern/Visitor/Visitor.csproj
+++ b/DesignPattern/Visitor/Visitor.csproj
@@ -8,10 +8,11 @@
Exe
Visitor
Visitor
- v4.8.1
+ v4.5
512
true
true
+
AnyCPU