示例#1
0
        static void Main(string[] args)
        {
            List <Worker> workers = new List <Worker>();
            List <Chair>  chairs  = new List <Chair>(new Chair[] {
                new ChairTypeA(), new ChairTypeB(), new ChairTypeD(), new ChairTypeC()
            });
            SeatWorker          C = new SeatWorker("Gigi", 10);
            FeetWorker          F = new FeetWorker("Dragos", 20);
            StabilizerBarWorker S = new StabilizerBarWorker("Vasile", 30);
            BackRestWorker      B = new BackRestWorker("Petru", 30);
            PackageChairWorker  P = new PackageChairWorker("Geo", 10);

            workers.Add(C);
            workers.Add(F);
            workers.Add(S);
            workers.Add(B);
            workers.Add(P);

            Factory factory = new PipesAndFilters_Factory(workers);

            //testPipesAndFilterFactory((PipesAndFilters_Factory)factory);
            factory = new BlackBoard_Factory(chairs, workers);
            //testBlackBoardFactory(factory);

            factory = new BusEventFactory(chairs, workers);
            ((BusEventFactory)factory).buildChair(null);
        }
示例#2
0
 static private void testPipesAndFilterFactory(PipesAndFilters_Factory pipeAndFilterFac)
 {
     for (int i = 1; i <= NumberOfChairs; i++)
     {
         Console.WriteLine("----Start building chair number " + i + "----");
         ChairTypeA chair = new ChairTypeA();
         pipeAndFilterFac.buildChair(chair);
         if (chair.package)
         {
             Console.WriteLine("----Done building chair number " + i + "----\n");
         }
         else
         {
             Console.WriteLine("----Building chair number " + i + " failed----\n");
         }
     }
 }