【发布时间】:2014-02-23 10:22:23
【问题描述】:
我目前正在创建一个流畅的界面,但我不能 100% 确定实现可选分支的最佳方式是什么。一个小例子:
// Normal service registration
.AddService(myService)
// Service registration with additional parameters
.AddService(myOtherService).WithParameter(ServiceParam.Timeout, 100)
.AddService(myThirdService)
现在,我不确定 AddService() 和 WithParameter() 应该具有哪些返回类型。基本接口提供AddService,它必须返回支持WithParameter和AddService的东西。您是否建议具有以下结构(伪代码):
interface FluentStart
{
AddService
}
interface FluentServiceConfiguration
{
WithParameter
}
最后,AddService 会返回一个接口:
interface FluentStartORFluentServiceConfiguration
: FluentStart
, FluentServiceConfiguration
?有没有其他(更好的)方法可以做到这一点?
【问题讨论】:
标签: c# fluent-interface