设计模式之Builder建造者模式|设计模式之Builder建造者模式 代码初见

设计模式之Builder建造者模式 代码初见

public class EmployeeBuilder { private int id = 1; private string firstname = "first"; private string lastname = "last"; private DateTime birthdate = DateTime.Today; private string street = "street"; public Employee Build() { return new Employee(id, firstname, lastname, birthdate, street); }public EmployeeBuilder WithFirstName(string firstname) { this.firstname = firstname; return this; }public EmployeeBuilder WithLastName(string lastname) { this.lastname = lastname; return this; }public EmployeeBuilder WithBirthDate(DateTime birthdate) { this.birthdate = birthdate; return this; }public EmployeeBuilder WithStreet(string street) { this.street = street; return this; }public static implicit operator Employee(EmployeeBuilder instance) { return instance.Build(); } }

测试
public class EmployeeTest {[Test] public void GetFullNameReturnsCombination() { // Arrange Employee emp = new EmployeeBuilder().WithFirstName("Kenneth") .WithLastName("Truyers"); // Act string fullname = emp.getFullName(); // Assert Assert.That(fullname, Is.EqualTo("Kenneth Truyers")); }[Test] public void GetAgeReturnsCorrectValue() { // Arrange Employee emp = new EmployeeBuilder().WithBirthDate(new DateTime(1983, 1,1)); // Act int age = emp.getAge(); // Assert Assert.That(age, Is.EqualTo(DateTime.Today.Year - 1983)); } }

参考
想要看到更多玮哥的学习笔记、考试复习资料、面试准备资料?想要看到IBM工作时期的技术积累和国外初创公司的经验总结?
设计模式之Builder建造者模式|设计模式之Builder建造者模式 代码初见
文章图片
image 敬请关注:
玮哥的博客 —— CSDN的传送门
玮哥的博客 —— 的传送门
玮哥的博客 —— 博客园的传送门
【设计模式之Builder建造者模式|设计模式之Builder建造者模式 代码初见】玮哥的博客 —— 51Testing的传送门

    推荐阅读