【发布时间】:2014-09-21 13:55:03
【问题描述】:
我一直在尝试为我的一个框架设计一个流畅的界面,但似乎我无法理解其中的一部分。我知道我可以使用接口和类来驱动我想要调用的方法。但是请考虑以下情况。
假设我有一个 Person 类,我希望能够做类似的事情
Person.WithName("Steve").WithAge(18).Save();
同样,我也希望我的 API 的调用者执行类似的操作
Person.WithName("Steve").Save();
or
Person.WithAge(18).Save();
但我不希望用户像这样单独调用保存方法
Person.Save();
现在,如果我想设计这样的 API,我该如何实现呢?如果我从 WithName 和 WithAge 方法返回 Person 类的实例,那么我必须将 Save 方法也放在 Person 类中,这意味着用户可以直接调用它。
【问题讨论】:
-
您希望在保存后能够修改此人吗?
标签: c# fluent fluent-interface