【发布时间】:2021-02-22 05:36:52
【问题描述】:
方法链是我所知道的构建流畅接口的唯一方法。
这是一个 C# 示例:
John john = new JohnBuilder()
.AddSmartCode("c#")
.WithfluentInterface("Please")
.ButHow("Dunno");
Assert.IsNotNull(john);
[Test]
public void Should_Assign_Due_Date_With_7DayTermsVia_Invoice_Builder()
{
DateTime now = DateTime.Now;
IInvoice invoice = new InvoiceBuilder()
.IssuedOn(now)
.WithInvoiceNumber(40)
.WithPaymentTerms(PaymentTerms.SevenDays)
.Generate();
Assert.IsTrue(invoice.DateDue == now.AddDays(7));
}
那么其他人如何创建流畅的界面。你如何创造它?需要什么语言/平台/技术?
【问题讨论】:
-
您甚至不需要 .NET 2.0 来执行此操作。
-
我刚刚修改了这个问题,使其更加与语言无关,因为这个问题确实不仅仅针对 C# 和 .NET。
标签: language-agnostic design-patterns oop fluent-interface