Coding style ";可拨电话“;功率原理(aka?)
作为一名设计师,我喜欢提供满足电源/简单性平衡的接口。例如,我认为LINQ设计者遵循了这个原则,因为他们提供了点表示法和查询表示法。第一个更强大,但第二个更容易阅读和理解。如果您不同意我对LINQ的评估,请尝试理解我的观点;LINQ只是一个例子,我的帖子不是关于LINQ的 我把这个原理称为“可拨电源”。但我想知道别人怎么称呼它。当然有人会说“吻”是一个常见的术语。但我认为亲吻是一种超集,或者说是一种“消费主义”行为。再次以LINQ为例,在我看来,一个总是尝试使用查询符号而不是点符号的程序员团队正在练习KISS。因此,LINQ的设计师实践“拨号电源”,而LINQ的消费者实践接吻。这两个人一起演奏优美的音乐 编辑我再举一个例子。设想一个具有两个签名的测井工具,允许两种用途:Coding style ";可拨电话“;功率原理(aka?),coding-style,solid-principles,grasp,Coding Style,Solid Principles,Grasp,作为一名设计师,我喜欢提供满足电源/简单性平衡的接口。例如,我认为LINQ设计者遵循了这个原则,因为他们提供了点表示法和查询表示法。第一个更强大,但第二个更容易阅读和理解。如果您不同意我对LINQ的评估,请尝试理解我的观点;LINQ只是一个例子,我的帖子不是关于LINQ的 我把这个原理称为“可拨电源”。但我想知道别人怎么称呼它。当然有人会说“吻”是一个常见的术语。但我认为亲吻是一种超集,或者说是一种“消费主义”行为。再次以LINQ为例,在我看来,一个总是尝试使用查询符号而不是点符号的程序员团队正
void Write(string message);
void Write(Func<string> messageCallback);
拥有这些重载表示“可拨电源”,因为用户可以选择简单的接口或功能强大的接口。喜欢接吻的消费者大多数时候会使用更简单的签名,并且在需要电源时会允许“忙碌”的签名。这也有助于自我记录,因为使用强大的签名告诉读者代码对性能至关重要。如果记录器只有强大的签名,那么就没有“可拨电源”
所以这是一个完整的循环。我很乐意保留我自己的“可拨电源”硬币,如果还没有的话,但我忍不住认为我错过了这个实践的一个明显的名称
p、 另一个与“拨号电源”相关但与“拨号电源”不同的例子是Scott Meyer的原则“使接口易于正确使用,而不易错误使用”
我称这一原则为“可拨”
权力”。但我想知道是什么
其他人叫它
我个人从未听说过“可拨电源”,我认为这不是一个行业标准术语
对于LINQ,我们将其设计称为
Fluent接口的设计使得对象上的所有方法都返回与该对象相同的类型,从而使方法链接变得容易。您可以在重载中看到相同的流畅设计,以及
对于JQuery,它还使用流畅的接口进行方法链接,但我认为“query”或“DSL”是其选择器符号的正确名称
(使用相同的术语,但描述完全不同的内容。)
由于它被描述为一个查询DSL,大多数人可以推断它接受一个序列作为输入,并返回一个序列作为输出。查询表示法执行与XPath大致相同的功能,但有更多的细节
Hibernate是一种在许多SQL方言之上的查询DSL,从表面上看,正则表达式是一种查询DSL,它将字符串序列转换为一组新的字符串序列(原则上,您可以创建一个字符串序列,但它可能会让您睁大眼睛)。如果您的“拨号盘”只有两个位置/级别,听起来你只是在说一个。“渐进式披露。”
您可能已经熟悉了这个术语,因为它用于用户界面——例如,“更多”按钮。然而,这一概念更为笼统
来自Lidwell、Holden和Butler的“设计的普遍原则”:
Progressive disclosure involves separating information into
multiple layers and only presenting layers that are necessary or relevant.
我会称之为“健壮的API”,但我怀疑这可能过于笼统,无法命名您的特定模式。这是一个不错的问题,但它属于程序员IMHO。我以前读过(但我不记得在哪里读过)微软将这一原则描述为“让最有用的[功能]变得简单,其他[功能]成为可能”。我模模糊糊地记得这个原则提到了90%和10%的数字来代替“功能”。是的,点符号是一个流畅的API,这是肯定的。它本身并不是我所说的拨号电源。事实上,有两种方式(fluentapi和查询表示法)更符合我的想法。
Progressive disclosure involves separating information into
multiple layers and only presenting layers that are necessary or relevant.