Свободные интерфейсы - метод цепочки
Цепочка методов - это единственный способ, которым я знаю, для создания свободных интерфейсов.
Вот пример в 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));
}
Так, как другие создают свободные интерфейсы. Как вы это создаете? Какой язык / платформа / технология нужна?