static void Main(string[] args)
        {
            Person person = new ConcretePerson("Sergey", "Sergeev", 2);
            person.IntroduceYourself(person);
            Console.WriteLine();

            person.Age = 30;
            person.IntroduceYourself(person);
            Console.WriteLine();

            Person studentPerson = new StudentConcretePerson("Petr", "Petrov", 24, 3);
            studentPerson.IntroduceYourself(studentPerson);
            Console.WriteLine();

            Person extramuralStudentPerson = new ExtramuralStudentConcretePerson("Ivan", "Ivanov", 20,2);
            extramuralStudentPerson.IntroduceYourself(extramuralStudentPerson);

            Console.ReadKey();
        }
        static void Main(string[] args)
        {
            Person person = new ConcretePerson("Sergey", "Sergeev", 2);

            person.IntroduceYourself(person);
            Console.WriteLine();

            person.Age = 30;
            person.IntroduceYourself(person);
            Console.WriteLine();

            Person studentPerson = new StudentConcretePerson("Petr", "Petrov", 24, 3);

            studentPerson.IntroduceYourself(studentPerson);
            Console.WriteLine();

            Person extramuralStudentPerson = new ExtramuralStudentConcretePerson("Ivan", "Ivanov", 20, 2);

            extramuralStudentPerson.IntroduceYourself(extramuralStudentPerson);

            Console.ReadKey();
        }
Example #3
0
        static void Main()
        {
            Console.WriteLine("To exit press E or Press any key to START decorating");
            char command = Console.ReadKey().KeyChar;

            Console.WriteLine("START RUNNING DECORATOR.");
            WormerBaseInterface entityToDecorate;
            Client client = new Client();

            Console.WriteLine("App: created a PERSON.");
            ConcretePerson person = new ConcretePerson();

            Console.WriteLine("App: Aply client code for the Person component.");


            Console.WriteLine("Enter the temperature of the enviroment. The temperature is quantified as bellow zero becouse now is winter");
            double temperatureOutside = double.Parse(Console.ReadLine());

            person.BodyTemperature -= temperatureOutside;
            Console.WriteLine($"The current BodyTemperature of the person is: {person.BodyTemperature:F}");
            client.ClientCode(person, person.BodyTemperature);
            entityToDecorate = person;
            while (command != 'E')
            {
                Console.WriteLine("To decorate the PERSON with the PANTS press 1");
                Console.WriteLine("To decorate the PERSON with the TSHORT press 2");
                Console.WriteLine("To udecorate the PERSON with the JUMPER press 3");
                Console.WriteLine("To decorate the PERSON with the COAT press 4");
                Console.WriteLine("To decorate the PERSON with the HOUSE press 5");
                Console.WriteLine("To exit press E");
                command = Console.ReadKey().KeyChar;

                switch (command)
                {
                case '1':
                    Console.WriteLine("\n App: The Person is decorated with Pants.");
                    entityToDecorate = new PantsDecorator(entityToDecorate);
                    break;

                case '2':
                    Console.WriteLine("\n App: The Person is decorated with Tshirt.");
                    entityToDecorate = new TshirtDecorator(entityToDecorate);
                    break;

                case '3':
                    Console.WriteLine("\n App: The Person is decorated with Jumper.");
                    entityToDecorate = new JumperDecorator(entityToDecorate);

                    break;

                case '4':
                    Console.WriteLine("\n App: The Person is decorated with Coat.");
                    entityToDecorate = new CoatDecorator(entityToDecorate);

                    break;

                case '5':
                    Console.WriteLine("\n App: The Person is decorated with House.");
                    entityToDecorate = new HouseDecorator(entityToDecorate);
                    break;

                default:
                    Console.WriteLine("\n Something went wrong. Please try again.");
                    break;
                }
            }
            Console.WriteLine("\n App: Aply client code for the Decorated component.");
            client.ClientCode(entityToDecorate, entityToDecorate.BaseTemperature);
            Console.WriteLine("END RUNNING ADAPTER.");
            Console.ReadKey();
        }