有人可以向我解释一下OOP中的界面膨胀是什么(最好是一个例子)。
答案 0 :(得分:9)
天儿真好,
假设你的意思是API而不是GUI,对我来说,I / F膨胀可以通过多种方式发生。
为了帮助您,您可以:
HTH
答案 1 :(得分:3)
考虑一种OO语言,其中所有方法都在Object中定义,即使它们仅对某些子类有意义。那将是最极端的例子。
答案 2 :(得分:2)
大多数Microsoft产品?
接口膨胀在屏幕上同时出现太多,特别是很少使用的元素,或者它们的功能令人困惑。描述界面臃肿可能更简单的方法是查看没有它的东西,从37signals尝试Basecamp。标题中只有几个标签和一些链接。
接口膨胀可以通过可折叠窗格(例如,使用Javascript)来修复,或者在需要之前隐藏不常使用的选项的深入菜单。
答案 3 :(得分:2)
接口膨胀是逐渐添加的元素,可以将简单,优雅的界面变成一个遍布按钮,菜单,选项等的地方,破坏了应用程序的原始内聚感。我想到的一个例子是iTunes。在它的早期演绎中,它非常简单,但随着时间的推移,已经添加了许多可能有资格作为膨胀的功能(iTunes DJ,Coverflow,Genius)。
答案 4 :(得分:1)
界面臃肿有时是因为试图让每个功能都只需点击一下就可以了,就像这个幽默的例子一样:
(虽然很有趣,但这个例子对Firefox不公平,因为在这个例子中用户添加了所有这些工具栏)
称为“渐进式披露”的UI设计技术是减少界面膨胀的一种方法。仅将最常用的功能公开为顶级单击。如果您使用频率较低但仍然有价值的功能可以包含在您的应用中,请按照逻辑方式对其进行分组,例如:在下拉菜单或其他导航元素后面。
答案 5 :(得分:1)
答案 6 :(得分:0)
大多数C ++程序员熟悉的界面膨胀的一个极端例子是std::basic_string
。页面向上和向下翻页成员函数只有很小的变化,大多数这些函数不一定是成员函数,但可能是字符串实用程序库中的自由函数。