从最终用户的角度来看抽象的意义是什么

What is significance of abstraction from an end user perspective

最近我在一次采访中被问到一个问题,即使我们在我们的代码中使用抽象 类 或接口,最终用户很可能会点击 UI 上的按钮,不会暴露于内部功能。 因此,即使我们不使用抽象 类 或接口来实现我们的逻辑,假设最终用户无法访问我的代码,他也不会知道这是如何在内部实现的。 那么,当最终用户不会获得有关实现的任何细节时,为什么我们要使用抽象。 仅仅是因为最佳实践还是其他原因?

我认为代码更易于维护和扩展。

这在小项目上可能很难理解,但在大项目上,就会有很大的不同。

当您只想公开声明时,接口很好。构建过程就足够了。

当由于扩展对象中的保护级别而无法访问某些特殊调用的部分代码(主要是供应商私有方法)时,使用抽象对象。

我会告诉面试官抽象泄漏,基础 类 用于标准而不是抽象,他计划让我清理的巨大混乱不会便宜,因为每个懒惰的雇主都允许程序员制作它们。他能给我什么我在别处得不到的东西?

启动 Whosebug 的人写了一篇关于抽象主题的文章。您应该阅读它并停止关心推销自己。知识和科学比任何学术排练都更能卖给你。