From a3ce3eb84cc3383ac53d8f396f80197ea1bc187a Mon Sep 17 00:00:00 2001 From: Uwe Wienkop <uwe.wienkop@th-nuernberg.de> Date: Mon, 14 Jun 2021 09:34:47 +0200 Subject: [PATCH] 2021-06-14 Wochenstart --- .../12-UbgTransformingServer-Di.csproj | 9 +++++ 12-UbgTransformingServer-Di/Program.cs | 40 +++++++++++++++++++ 12-UbgTransformingServer-Di/Server.cs | 22 ++++++++++ .../12-UbgTransformingServer-Mo.csproj | 9 +++++ 12-UbgTransformingServer-Mo/Program.cs | 40 +++++++++++++++++++ 12-UbgTransformingServer-Mo/Server.cs | 22 ++++++++++ 12Delegateaufrufausbreitung/Program.cs | 2 +- Prog2WienkopSS2021.sln | 20 ++++++++-- 8 files changed, 159 insertions(+), 5 deletions(-) create mode 100644 12-UbgTransformingServer-Di/12-UbgTransformingServer-Di.csproj create mode 100644 12-UbgTransformingServer-Di/Program.cs create mode 100644 12-UbgTransformingServer-Di/Server.cs create mode 100644 12-UbgTransformingServer-Mo/12-UbgTransformingServer-Mo.csproj create mode 100644 12-UbgTransformingServer-Mo/Program.cs create mode 100644 12-UbgTransformingServer-Mo/Server.cs diff --git a/12-UbgTransformingServer-Di/12-UbgTransformingServer-Di.csproj b/12-UbgTransformingServer-Di/12-UbgTransformingServer-Di.csproj new file mode 100644 index 0000000..0c3d8a5 --- /dev/null +++ b/12-UbgTransformingServer-Di/12-UbgTransformingServer-Di.csproj @@ -0,0 +1,9 @@ +<Project Sdk="Microsoft.NET.Sdk"> + + <PropertyGroup> + <OutputType>Exe</OutputType> + <TargetFramework>netcoreapp3.1</TargetFramework> + <RootNamespace>_12_UbgTransformingServer</RootNamespace> + </PropertyGroup> + +</Project> diff --git a/12-UbgTransformingServer-Di/Program.cs b/12-UbgTransformingServer-Di/Program.cs new file mode 100644 index 0000000..1b38873 --- /dev/null +++ b/12-UbgTransformingServer-Di/Program.cs @@ -0,0 +1,40 @@ +using System; + +namespace _12_UbgTransformingServer +{ + class Client + { + public string Name { get; } + public Client(string Name) { this.Name = Name; } + + // ToDo: statische "Listener" Methode + // ToDo: nicht-statische "Listener" Methode + } + class Program + { + // ToDo: Realisieren Sie die folgenden Transformationen: + // x Signature ( ... ) fügt der Nachricht eine Signatur an + // x OldNewCorp ( ... ) ersetzt ZZZ durch AAA + // x Beautify ( ... ) ersetzt "liebe Kunden" durch "verehrte Kunden" + static void Main(string[] args) + { + MsgServer server = new MsgServer(); + // ToDo: Fügen Sie einige Transformationen hinzu + // msg --> OldNewCorp --> Signature + + Client mueller = new Client("Müller"); + Client meier = new Client("Meier"); + Client huber = new Client("Huber"); + + // ToDo: Registrieren Sie einige Listener + + server.SendMsg("Herzlich Willkommen, liebe Kunden! ZZZ Corporation"); + + // ToDo: Registrieren Sie weitere Listener an und entfernen + // Sie einen Listener + + // ToDo: Entfernen Sie die Signature Transformation + server.SendMsg("Wir wünschen einen erfolgreichen Tag, liebe Kunden, ZZZ Corporation"); + } + } +} diff --git a/12-UbgTransformingServer-Di/Server.cs b/12-UbgTransformingServer-Di/Server.cs new file mode 100644 index 0000000..1f864c8 --- /dev/null +++ b/12-UbgTransformingServer-Di/Server.cs @@ -0,0 +1,22 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace _12_UbgTransformingServer +{ + delegate void Callback(string notifier); + delegate void Transform(ref string msg); + class MsgServer + { + // ToDo: Notify-Event anlegen + // ToDo: Transformations-Event anlegen + + public void SendMsg(string msg) + { + Console.WriteLine($"\n\n\nOriginal-Nachricht: {msg}"); + // ToDo: Alle in Transformations gespeicherten Transformationen anwenden + + // ToDo: Den "transformierten" String an alle in Notify gespeicherten Listener versenden + } + } +} diff --git a/12-UbgTransformingServer-Mo/12-UbgTransformingServer-Mo.csproj b/12-UbgTransformingServer-Mo/12-UbgTransformingServer-Mo.csproj new file mode 100644 index 0000000..0c3d8a5 --- /dev/null +++ b/12-UbgTransformingServer-Mo/12-UbgTransformingServer-Mo.csproj @@ -0,0 +1,9 @@ +<Project Sdk="Microsoft.NET.Sdk"> + + <PropertyGroup> + <OutputType>Exe</OutputType> + <TargetFramework>netcoreapp3.1</TargetFramework> + <RootNamespace>_12_UbgTransformingServer</RootNamespace> + </PropertyGroup> + +</Project> diff --git a/12-UbgTransformingServer-Mo/Program.cs b/12-UbgTransformingServer-Mo/Program.cs new file mode 100644 index 0000000..62cc11d --- /dev/null +++ b/12-UbgTransformingServer-Mo/Program.cs @@ -0,0 +1,40 @@ +using System; + +namespace _12_UbgTransformingServer +{ + class Client + { + public string Name { get; } + public Client(string Name) { this.Name = Name; } + + // ToDo: statische "Listener" Methode + // ToDo: nicht-statische "Listener" Methode + } + class Program + { + // ToDo: Realisieren Sie die folgenden Transformationen: + // * Signature ( ... ) fügt der Nachricht eine Signatur an + // * OldNewCorp ( ... ) ersetzt ZZZ durch AAA + // * Beautify ( ... ) ersetzt "liebe Kunden" durch "verehrte Kunden" + static void Main(string[] args) + { + MsgServer server = new MsgServer(); + // ToDo: Fügen Sie einige Transformationen hinzu + // msg --> OldNewCorp --> Signature + + Client mueller = new Client("Müller"); + Client meier = new Client("Meier"); + Client huber = new Client("Huber"); + + // ToDo: Registrieren Sie einige Listener + + server.SendMsg("Herzlich Willkommen, liebe Kunden! ZZZ Corporation"); + + // ToDo: Registrieren Sie weitere Listener an und entfernen + // Sie einen Listener + + // ToDo: Entfernen Sie die Signature Transformation + server.SendMsg("Wir wünschen einen erfolgreichen Tag, liebe Kunden, ZZZ Corporation"); + } + } +} diff --git a/12-UbgTransformingServer-Mo/Server.cs b/12-UbgTransformingServer-Mo/Server.cs new file mode 100644 index 0000000..1f864c8 --- /dev/null +++ b/12-UbgTransformingServer-Mo/Server.cs @@ -0,0 +1,22 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace _12_UbgTransformingServer +{ + delegate void Callback(string notifier); + delegate void Transform(ref string msg); + class MsgServer + { + // ToDo: Notify-Event anlegen + // ToDo: Transformations-Event anlegen + + public void SendMsg(string msg) + { + Console.WriteLine($"\n\n\nOriginal-Nachricht: {msg}"); + // ToDo: Alle in Transformations gespeicherten Transformationen anwenden + + // ToDo: Den "transformierten" String an alle in Notify gespeicherten Listener versenden + } + } +} diff --git a/12Delegateaufrufausbreitung/Program.cs b/12Delegateaufrufausbreitung/Program.cs index acd45d2..514acbc 100644 --- a/12Delegateaufrufausbreitung/Program.cs +++ b/12Delegateaufrufausbreitung/Program.cs @@ -15,7 +15,7 @@ namespace SS2020Test this.me = me; Update(); } - public event myDelegate Output; + public event Action<bool> Output; public abstract bool Logic(bool x, bool y); diff --git a/Prog2WienkopSS2021.sln b/Prog2WienkopSS2021.sln index 3dcfaef..bba39f8 100644 --- a/Prog2WienkopSS2021.sln +++ b/Prog2WienkopSS2021.sln @@ -91,13 +91,17 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "11-1 DataDriven", "11-1 Dat EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "11-2 Delegate Verkettung", "11-2 Delegate Verkettung\11-2 Delegate Verkettung.csproj", "{0FC3EC66-BD2E-46C4-8512-FB1DFD6A62F8}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "11-Ubg Mailverteiler-Di", "11-Ubg Mailverteiler-Di\11-Ubg Mailverteiler-Di.csproj", "{A602EA3B-7F14-4D94-B519-D3BD870CA1DA}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "11-Ubg Mailverteiler-Di", "11-Ubg Mailverteiler-Di\11-Ubg Mailverteiler-Di.csproj", "{A602EA3B-7F14-4D94-B519-D3BD870CA1DA}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "11-3 Erweiterungsmethoden", "11-3 Erweiterungsmethoden\11-3 Erweiterungsmethoden.csproj", "{64AE6304-67E0-4413-8D66-D12B3C133D09}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "11-3 Erweiterungsmethoden", "11-3 Erweiterungsmethoden\11-3 Erweiterungsmethoden.csproj", "{64AE6304-67E0-4413-8D66-D12B3C133D09}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "11-4 LINQ-Intro", "11-4 LINQ-Intro\11-4 LINQ-Intro.csproj", "{7B612E44-F4A4-4857-BCAE-6DA1045A4FDE}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "11-4 LINQ-Intro", "11-4 LINQ-Intro\11-4 LINQ-Intro.csproj", "{7B612E44-F4A4-4857-BCAE-6DA1045A4FDE}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "11-5 BinTreePersVerwaltung", "11-5 BinTreePersVerwaltung\11-5 BinTreePersVerwaltung.csproj", "{FEC9D71A-A142-4EB5-920F-170DAD90F352}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "11-5 BinTreePersVerwaltung", "11-5 BinTreePersVerwaltung\11-5 BinTreePersVerwaltung.csproj", "{FEC9D71A-A142-4EB5-920F-170DAD90F352}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "12-UbgTransformingServer-Mo", "12-UbgTransformingServer-Mo\12-UbgTransformingServer-Mo.csproj", "{D8D0F6FA-A61D-400A-AA6A-AC20479D5260}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "12-UbgTransformingServer-Di", "12-UbgTransformingServer-Di\12-UbgTransformingServer-Di.csproj", "{1F7AE01D-084E-4204-89F0-9E6FAC37F151}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -297,6 +301,14 @@ Global {FEC9D71A-A142-4EB5-920F-170DAD90F352}.Debug|Any CPU.Build.0 = Debug|Any CPU {FEC9D71A-A142-4EB5-920F-170DAD90F352}.Release|Any CPU.ActiveCfg = Release|Any CPU {FEC9D71A-A142-4EB5-920F-170DAD90F352}.Release|Any CPU.Build.0 = Release|Any CPU + {D8D0F6FA-A61D-400A-AA6A-AC20479D5260}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {D8D0F6FA-A61D-400A-AA6A-AC20479D5260}.Debug|Any CPU.Build.0 = Debug|Any CPU + {D8D0F6FA-A61D-400A-AA6A-AC20479D5260}.Release|Any CPU.ActiveCfg = Release|Any CPU + {D8D0F6FA-A61D-400A-AA6A-AC20479D5260}.Release|Any CPU.Build.0 = Release|Any CPU + {1F7AE01D-084E-4204-89F0-9E6FAC37F151}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {1F7AE01D-084E-4204-89F0-9E6FAC37F151}.Debug|Any CPU.Build.0 = Debug|Any CPU + {1F7AE01D-084E-4204-89F0-9E6FAC37F151}.Release|Any CPU.ActiveCfg = Release|Any CPU + {1F7AE01D-084E-4204-89F0-9E6FAC37F151}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE -- GitLab