public Meeting(int number) { var humanFactory = new HumanFactory(); Visitors = Enumerable.Range(1, number) .Select(x => humanFactory.Create <T>()) .ToArray(); }
public void T2_create_human_by_factory() { HumanFactory humanFactory = new HumanFactory(); ICharacter iCharacter = humanFactory.Create("Jedusor", "Tom"); iCharacter.Walk().Should().Be("Je marche !"); iCharacter.GetLastName().Should().Be("Jedusor"); iCharacter.GetFirstName().Should().Be("Tom"); }
//首先有一个抽象的工厂,然后具体的工厂继承抽象工厂,实现 //每一个工厂只用来生产一种产物 //虽然上层还是new了对象 但是屏蔽了底层的业务类 public static void Show() { IFactory human = new HumanFactory(); human.Create(); IFactory car = new CarFactory(); car.Create(); }
public void Create_ValidName_NewHuman() { // Arrange var personOneName = this.Faker.Name.FullName(); var personTwoName = this.Faker.Name.FullName(); // Act var personOne = HumanFactory.Create(personOneName); var personTwo = HumanFactory.Create(personTwoName); // Assert personOne.Should().NotBeNull(); personOne.Id.Should().BeGreaterThan(0); personOne.Name.Should().NotBeNullOrWhiteSpace().And.Be(personOneName); personTwo.Should().NotBeNull(); personTwo.Id.Should().BeGreaterThan(1); personTwo.Name.Should().NotBeNullOrWhiteSpace().And.Be(personTwoName); }