Пример #1
0
        static void Builder()
        {
            var fireman = new Firefighter();
            var street  = new Street(110, 64, 25);
            var street2 = new Street(110, 64, 10);

            var simpleDeco = new BasicBuilder();
            var mixedDeco  = new mixedBuilder();
            var favoDeco   = new FavorableBuilder();
            var unfavoDeco = new UnfavorableBuilder();

            var house1 = new House(101, 16, 5, mixedDeco);

            house1.Street = street;
            var house2 = new House(102, 9, 3, favoDeco);

            house2.Street = street2;
            var square1 = new Square("Plaza1", 16, 10, 2, unfavoDeco);

            square1.Street = street;
            var square2 = new Square("Plaza2", 25, 20, 10, simpleDeco);

            square2.Street = street2;

            house1.AddObserver(fireman);
            house2.AddObserver(fireman);
            square1.AddObserver(fireman);
            square2.AddObserver(fireman);

            square1.Spark();
        }
Пример #2
0
        static void Observer()
        {
            var fireman = new Firefighter();

            var house1 = new House(100, 25, 4);
            var house2 = new House(102, 16, 1);
            var house3 = new House(104, 34, 5);
            var house4 = new House(106, 20, 3);
            var house5 = new House(108, 9, 2);
            var square = new Square("San Martin", 36, 5, 4);
            var street = new Street(110, 64, 25);

            house1.Street = street;
            house1.AddObserver(fireman);
            house2.Street = street;
            house2.AddObserver(fireman);
            house3.Street = street;
            house3.AddObserver(fireman);
            house4.Street = street;
            house4.AddObserver(fireman);
            house5.Street = street;
            house5.AddObserver(fireman);
            square.Street = street;
            square.AddObserver(fireman);
            house5.Spark();
            square.Spark();
        }
Пример #3
0
        static void Decorator()
        {
            var fireman = new Firefighter();
            //var square = new Square("San Martin", 9, 5, 4);
            var house  = new House(102, 9, 1, new mixedBuilder());
            var street = new Street(110, 64, 15);

            house.Street = street;
            house.AddObserver(fireman);
            house.Spark();
        }
Пример #4
0
        static void Iterator()
        {
            var A = new House(100, 25, 4);
            var B = new House(102, 16, 1);
            var C = new House(104, 34, 5);
            var D = new House(106, 20, 3);
            var E = new House(108, 9, 2);
            var F = new House(109, 25, 4);
            var G = new Square("G", 16, 2, 5);
            var H = new Square("H", 16, 2, 5);
            var I = new Square("I", 16, 2, 5);
            var J = new Square("J", 36, 5, 4);

            var street = new Street(110, 64, 25);

            A.Street = street;
            B.Street = street;
            C.Street = street;
            D.Street = street;
            E.Street = street;
            F.Street = street;
            G.Street = street;
            H.Street = street;
            I.Street = street;
            J.Street = street;

            G.Builder = new mixedBuilder();
            H.Builder = new FavorableBuilder();
            I.Builder = new UnfavorableBuilder();

            // BOARD
            var complaintsByBoard = new ComplaintByBoard();

            A.AddObserver(complaintsByBoard);
            B.AddObserver(complaintsByBoard);
            C.AddObserver(complaintsByBoard);
            D.AddObserver(complaintsByBoard);
            E.AddObserver(complaintsByBoard);
            F.AddObserver(complaintsByBoard);

            // WHATSAPP
            WhatsAppMessage whatsAppList = null;

            whatsAppList = new WhatsAppMessage(new FireReport(G), whatsAppList);
            whatsAppList = new WhatsAppMessage(new FireReport(H), whatsAppList);
            whatsAppList = new WhatsAppMessage(new FireReport(I), whatsAppList);
            var complaintsByWhatsapp = new ComplaintByWhatsapp(whatsAppList);

            // DESK
            var complaintsByDesk = new ComplaintByDesk(J);

            B.Spark();
            F.Spark();

            // TEST
            var fireman = new Firefighter();

            fireman.Vehicle = new FireTruck();
            fireman.Tool    = new WaterHose();
            var secretary = new FirefighterSecretary(fireman);

            secretary.AttendCompliant(complaintsByBoard);
            secretary.AttendCompliant(complaintsByDesk);
            Console.Clear();
            secretary.AttendCompliant(complaintsByWhatsapp);
        }