Exemple #1
0
        public static ISuperhero GetSuperhero(SuperheroUniverse universe)
        {
            ISuperhero superhero = null;

            if (universe.Universe.Equals(SuperheroUniverse.Marvel.Universe))
            {
                if (marvelHero == null)
                {
                    marvelHero = new MarvelHero();
                }

                superhero = marvelHero;
            }

            if (universe.Universe.Equals(SuperheroUniverse.Dc.Universe))
            {
                if (dcHero == null)
                {
                    dcHero = new DcHero();
                }

                superhero = dcHero;
            }

            return(superhero);
        }
Exemple #2
0
        public async Task AddAsync(string name, string superpower, SuperheroUniverse superheroUniverse)
        {
            var dcHero = new DcHero
            {
                Name              = name,
                Superpower        = superpower,
                SuperheroUniverse = superheroUniverse
            };

            await Task.Run(() => Superheroes.Add(dcHero));
        }
        public async Task AddAsync(string name, string superpower, SuperheroUniverse superheroUniverse)
        {
            var superhero = SuperheroFactory.GetSuperhero(superheroUniverse);

            await superhero.AddAsync(name, superpower, superheroUniverse);
        }