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;
 }
示例#4
0
 public Team CreateTeam(string language, IEnumerable <IProgrammer> members, DegreesOfSeparation degreesOfSeparation)
 {
     return(new Team(language, members, degreesOfSeparation));
 }