什么是流畅的界面? [英] What's a fluent interface?
问题描述
我最近遇到了这个表达 - 但是阅读了维基百科上的 没有明确说明对我来说 - 我还是不能得到它:
- 它的意义是什么
维基百科文章C ++示例过长,并且将流畅界面的讨论与简单的Glut应用程序的示例相混淆。有人可以提供一个类的SUCCINCT C ++示例来说明一个流畅的接口(例如这样的影响与普通C ++接口有什么不同)。
要使用维基百科上的C ++示例:
之前:
int main(int argc,char ** argv){
GlutApp app(argc,argv);
app.setDisplayMode(GLUT_DOUBLE | GLUT_RGBA | GLUT_ALPHA | GLUT_DEPTH); // set framebuffer params
app.setWindowSize(500,500); //设置窗口参数
app.setWindowPosition(200,200);
app.setTitle(My OpenGL / GLUT App);
app.create();
}
之后:
int main(int argc,char ** argv){
FluentGlutApp app(argc,argv)
.withDoubleBuffer().RGBA().Alpha withDepth()
.at(200,200).across(500,500)
.named(My OpenGL / GLUT App);
app.create();
}
I recently came across this expression - but reading up on Wikipedia did not clarify it much for me - I still don't get it:
- What's the point of it
- How is it used in practice (i.e. how does it benefit a coder in their day to day work/building systems)?
[Edit] The Wikipedia article C++ example is overly long, and conflates the discussion of a fluent interface with an example of a simple Glut app. Can someone provide a SUCCINCT C++ example of a class that illustrates a fluent interface (how does such an influence differ from an ordinary C++ interface for example)?
It benefits the coder by reducing the amount he has to type (and read).
To use the C++ example on Wikipedia:
Before:
int main(int argc, char **argv) {
GlutApp app(argc, argv);
app.setDisplayMode(GLUT_DOUBLE|GLUT_RGBA|GLUT_ALPHA|GLUT_DEPTH); // Set framebuffer params
app.setWindowSize(500, 500); // Set window params
app.setWindowPosition(200, 200);
app.setTitle("My OpenGL/GLUT App");
app.create();
}
After:
int main(int argc, char **argv) {
FluentGlutApp app(argc, argv)
.withDoubleBuffer().withRGBA().withAlpha().withDepth()
.at(200, 200).across(500, 500)
.named("My OpenGL/GLUT App");
app.create();
}
这篇关于什么是流畅的界面?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!