示例#1
0
        public static void Main(string[] args)
        {
            IChat chat = new Chat();

            chat = new DecoratorBuilder(chat)
                   .WithTextEncrypt()
                   .WithUserHide()
                   .Build();
            chat.SendMessage(new Message("Alex", "Ivan", "Hi"));
            chat.SendMessage(new Message("Alex", "Ivan", "How are you?"));
            chat.SendMessage(new Message("Ivan", "Alex", "Fine"));
            Console.WriteLine();
            var messages = chat.GetMessages("Ivan");

            Console.WriteLine(string.Join("\n", messages.Select(m => m.Text)));
            Console.ReadKey();
        }
示例#2
0
        static void Main(string[] args)
        {
            IChatClient chatclient = new ChatClient();

            //цепочка дерорторов
            chatclient = new DecoratorBuilder(chatclient)
                         .WithUserHiding()
                         .WithTextEncryption()
                         .Build();

            var message = new Message(author: "George", addressee: "Alexander", text: "Test. Hello there! How are you?");

            chatclient.SendMessage(message);
            var result = chatclient.ReceiveMessage(message);

            Console.ReadLine();
        }
示例#3
0
        static void Main(string[] args)
        {
            var chatClient = new DecoratorBuilder(new ChatClient())
                             .WithEncodeText()
                             .WithEncodeUser()
                             .Build();

            var message = new Message("I", "She", "Hello");

            chatClient.SendMessage(message);

            var messages = chatClient.GetMessage();

            foreach (Message testMessage in messages)
            {
                Console.WriteLine("----Message----");
                Console.WriteLine($"Author: {testMessage.Author}");        // Author: #
                Console.WriteLine($"Recipient: {testMessage.Recipient}");  // Recipient: ###
                Console.WriteLine($"Text: {testMessage.Text}");            // Text: (encode)Hello(encode)
            }
        }