什么时候去流利的C#?
在很多方面,我真的很喜欢Fluent接口的概念,但是使用C#的所有现代功能(初始化程序,lambda和命名参数),我发现自己在思考:“值得吗?”,“这是正确的模式吗?采用?”。任何人都可以给我(如果不是被接受的做法),至少是他们自己的经验或决策矩阵,以便何时使用Fluent模式? 结论: 到目前为止的答案有一些好的经验法则: 当操作员多于设置员时,流利的接口将提供极大帮助,因为调用从上下文传递中受益更多。 流利的接口应该被认为是api之上的一层,而不是唯一的使用方法。 lambda,初始值设定项和命名参数等现代功能可以配合使用,使流畅的界面更加友好。 这是一个使我觉得不需要的现代功能的示例。以一个(也许很差的例子)Fluent接口为例,该接口允许我创建一个Employee,例如: Employees.CreateNew().WithFirstName("Peter") .WithLastName("Gibbons") .WithManager() .WithFirstName("Bill") .WithLastName("Lumbergh") .WithTitle("Manager") .WithDepartment("Y2K"); 可以很容易地用初始化器编写,例如: Employees.Add(new Employee() { FirstName = "Peter", LastName = "Gibbons", Manager = new Employee() { FirstName = "Bill", LastName = "Lumbergh", Title = "Manager", Department = "Y2K" } }); 在本示例中,我还可以在构造函数中使用命名参数。