加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

C#中的新样式

发布时间:2020-12-15 21:09:06 所属栏目:百科 来源:网络整理
导读:如今,流畅的API非常普遍.最近,我在几乎所有与我合作的系统中都能找到它们.大多数情况下,它们增强了可读性,但有时它们将我锁定在不灵活的规范中,使得理解它们构建的规范的运行时行为几乎是不可能的.关于如何创建一个良好的流畅API有共识吗?使用流畅的API表示
如今,流畅的API非常普遍.最近,我在几乎所有与我合作的系统中都能找到它们.大多数情况下,它们增强了可读性,但有时它们将我锁定在不灵活的规范中,使得理解它们构建的规范的运行时行为几乎是不可能的.关于如何创建一个良好的流畅API有共识吗?使用流畅的API表示结构或规范的最佳方法是什么?

我最近注意到NServiceBus配置类中的流畅API的这个新颖变体:

class EndpointConfig : IConfigureThisEndpoint,AsA_Server { }

它使用多个接口作为一种线性流畅的接口.我喜欢它,因为当我只是试图表示简单的要求时,它不会给我带来额外的代码和上下文的沉重负担.在简单的情况下,这是足够的.但我认为它不会扩展到复杂的规格.您如何看待这种接口的使用?

你在C#中使用了哪些其他新习语?你在哪里使用它们?他们的优势是什么?你不会在哪里使用它们?另外,你如何衡量你正在考虑使用的成语的优势?

解决方法

我过去常常在表示不同行为的方法上避免使用布尔参数,例如:我会接受

int ExpensiveComputation(bool useDiskCache)

并希望把它变成

int ExpensiveComputation(CacheType.DiskCache)

我最喜欢这个,因为当你调用ExpensiveComputation(true)时,如果不了解ExpensiveComputation的全部意义,那么真正意味着什么并不清楚,而ExpensiveComputation(CacheType.DiskCache)给你一个好主意.

但是,对于命名参数,我发现使用第一个参数通常是可以接受的,并且这样调用它:ExpensiveComputation(useDiskCache:true)所以这是我为自己发明的最近的成语.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读