public Network(IEnumerable <IProgrammer> programmers, IDegreesOfSeparationFactory degreesOfSeparationFactory, ITeamFactory teamFactory, IRankCalculatorFactory rankCalculatorFactory) { _programmers = programmers; _degreesOfSeparation = degreesOfSeparationFactory.BuildDegreesOfSeparation(_programmers); _teamFactory = teamFactory; _rankCalculator = rankCalculatorFactory.BuildRankCalculator(); _rankCalculator.Calculate(_programmers); }
public Programmer(string name, IEnumerable <string> skills) { _recommendations = new List <IProgrammer>(); _recommendedBys = new List <IProgrammer>(); _name = name; _skills = skills; _degreesOfSeparation = new DegreesOfSeparation(); _programmerRank = new ProgrammerRank(); }
public Team(string language, IEnumerable <IProgrammer> members, DegreesOfSeparation degreesOfSeparation) { _language = language; _members = members; _degreesOfSeparation = degreesOfSeparation; }
public Team CreateTeam(string language, IEnumerable <IProgrammer> members, DegreesOfSeparation degreesOfSeparation) { return(new Team(language, members, degreesOfSeparation)); }