有没有Fluent接口?

Zub*_*air 4 fluent-interface fluent

我已经阅读过有关Fluent API的内容,其中代码可以像英语一样阅读,但我似乎无法找到它们的任何示例,因为我想知道它们是否是一种易于使用的界面的合理方法由非全职程序员组成的系统.有没有人有流畅的界面的例子?

Gra*_*ton 5

以下几个例子在C#中.非程序员使用?好吧,自己决定,我可能会说 - 可能不是 - 它们是为编码人员设计的,你需要知道语法.但是这是C#,在Ruby和其他语言中有更好的例子,具有更易读,类似英语的语法.

您可能还想查看外部DSL(特定于域的语言).(流畅的API被视为内部DSL).

NUnit的:

Assert.That(result, Is.EqualTo(10));
Run Code Online (Sandbox Code Playgroud)

Ninject:

Bind<IDataAccess>()
                .To<Db4oDataAccess>()
                .WithConstructorArgument("fileName", "dbFile.db");
Run Code Online (Sandbox Code Playgroud)

犀牛嘲笑:

repository.Expect(x => x.LoadUserList()).Return(users);
Run Code Online (Sandbox Code Playgroud)

这是来自RSpec的一些Ruby:

@account.balance.should eql(Money.new(0, :dollars))
Run Code Online (Sandbox Code Playgroud)

但是,请记住,这些示例是针对程序员的,如果非程序员是目标受众,则可能会获得更加人性化的代码,特别是使用Ruby等.