gpt4 book ai didi

performance - 最差抽象反转

转载 作者:行者123 更新时间:2023-12-04 01:55:42 25 4
gpt4 key购买 nike

您今天在编程中看到的最糟糕的(由于普遍性或严重性)抽象反转的例子是什么?

对于那些不熟悉这个概念的人来说,抽象反转是在高级构造之上实现低级构造。更准确地说,假设您有构造 A 和 B。B 在 A 之上实现,但 A 未在任何地方公开。因此,如果您确实需要较低级别的构造 A,那么您最终会在 B 之上实现 A,而 B 最初是根据 A 实现的。见 http://en.wikipedia.org/wiki/Abstraction_inversion .

最佳答案

我见过的最糟糕的抽象滥用例子可能是 this fluent C# ,它将基本的流控制元素(if、whiles、序列表达式)包装在一个流畅的界面中。

所以你完全惯用的,干净的代码:

var selectedTextBox = (TextBox)sender,
if (IsAdmin)
{
selectedTextBox.Enabled = true;
selectedTextBox.Text = superSecretPassword;
}
else
{
selectedTextBox.Clear();
}

变成了这个烂摊子:
Cast<TextBox>(sender).
WithIf(IsAdmin,
With(selectedTextBox => selectedTextBox.Enabled = true).
With(selectedTextBox => selectedTextBox.Text = superSecretPassword),
With(selectedTextBox => selectedTextBox.Clear());

因为有了 lambda,一切都变得更好了!

关于performance - 最差抽象反转,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/302548/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com