构建器模式:从基础到高级应用
在软件开发中,构建器模式是一种非常实用的设计模式,它可以帮助我们更优雅地构建复杂对象。下面将详细介绍构建器模式的多种应用场景和实现方式。
1. 构建器参数方法
客户使用的 SendEmail()
方法接收一个函数,而非一组参数或预封装对象。这个函数接收一个 EmailBuilder
,并使用它来构建邮件正文。示例代码如下:
var ms = new MailService();
ms.SendEmail(email => email.From("[email protected]")
.To("[email protected]")
.Body("Hello, how are you?"));
这种构建器参数方法会强制 API 的使用者使用构建器,并且通过 Action
技巧,确保客户端能接收已初始化的构建器对象。
2. 递归泛型的构建器扩展
在使用流畅接口的类中,继承是一个有趣且具有挑战性的问题。以构建 Person
对象为例,最初的代码如下:
public class Person
{
public string Name;
public string Position;
}
public abstr