Esempio n. 1
0
        private static void TestarAssociacaoAgregacaoComposicaoEquipe()
        {
            Console.WriteLine("-------------------");
            Console.WriteLine("Teste de agregação - associação todo-parte fraca");

            var neymar    = new Jogador("Neymar Jr", 11);
            var suarez    = new Jogador("Luis Suárez", 9);
            var messi     = new Jogador("Lionel Messi", 10);
            var barcelona = new Equipe("Futbol Club Barcelona");

            barcelona.AdicionarJogador(neymar);
            barcelona.AdicionarJogador(suarez);
            barcelona.AdicionarJogador(messi);

            Console.WriteLine("Barcelona é o todo. Os Jogadores são partes que compõe o todo.");
            Console.WriteLine(barcelona);

            barcelona.Dispose();
            Console.WriteLine("Dispose no Barcelona, que deixou de existir...");
            Console.WriteLine("Mas os jogadores não:");
            Console.WriteLine(neymar.Nome);
            Console.WriteLine(suarez.Nome);
            Console.WriteLine(messi.Nome);

            Console.WriteLine("-------------------");

            var cr7        = new Jogador("Cristiano Ronaldo", 7);
            var bale       = new Jogador("Gareth Bale", 11);
            var benzema    = new Jogador("Karim Benzema", 9);
            var realMadrid = new Equipe("Real Madrid Club de Fútbol");

            realMadrid.AdicionarJogador(cr7);
            realMadrid.AdicionarJogador(bale);
            realMadrid.AdicionarJogador(benzema);

            Console.WriteLine("Real Madrid é o todo. Os Jogadores são partes que compõe o todo.");
            Console.WriteLine(realMadrid);

            realMadrid.Dispose();
            Console.WriteLine("Dispose no Real Madrid, que deixou de existir...");
            Console.WriteLine("Mas os jogadores não:");
            Console.WriteLine(cr7.Nome);
            Console.WriteLine(bale.Nome);
            Console.WriteLine(benzema.Nome);
            Console.WriteLine("-------------------");
        }