【发布时间】:2014-09-21 01:12:41
【问题描述】:
我想为我作为框架的一部分构建的一些类创建流畅的接口。我已经创建了方法,并且能够成功地链接方法。现在我想确保我可以处理不正确的方法调用顺序。
我正在做的事情类似于 CreateWorkflow -> OpenConfiguration -> ChangeUserName 在上述场景中,如果先调用 ChangeUserName 是没有意义的,因为它依赖于 OpenConfiguration。
我很困惑我是否正确地为这种情况创建了一个 Fluent 方法链,以及如何使序列工作。对我来说,这种场景似乎非常适合创建流畅的 API。
【问题讨论】:
-
似乎我们可以使用这里提到的接口实现我想要的目标stackoverflow.com/questions/17800706/…,但这对我来说似乎有点过头了。这个问题还有其他更好的解决方案吗?
-
您将不得不澄清“更好”的含义。使用一些界面似乎并不那么可怕。
-
如果您的目标是编译时检查(这是一个完全合理的目标),在我看来,您要么对同一个核心类使用不同的接口,要么让每个链接的方法返回完全不同的班级。类型系统是 OO 语言为强制执行这些类型的编译时约束而提供的。
-
@joshtkling 是的,你是对的,我正在寻找一种编译时检查的方法,理想情况下我希望用户在智能感知中只有有效的选项。
-
@48klocs 我在想我最终会有多少个类或接口,如果我走使用接口和类的路线,我认为它们的数量不会少。我在想也许有一些最佳实践/方法可以做到这一点?
标签: c# fluent fluent-interface