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); }
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); }