Java“Program to an interface”。这是什么意思?

Java“Program to an interface”。这是什么意思?

简而言之,而不是像这样写类

我依靠这个特定的班级来做我的工作

你写的方式说

我依赖于任何类,做这个东西做我的工作。

第一个示例表示一个类,该类依赖于特定的具体实现来执行其工作。从本质上讲,这不是很灵活。

第二个示例表示写入接口的类。它不在乎您使用什么具体对象,而只是在意它实现某些行为。这可以使该类更加灵活,因为可以为它提供许多具体的实现来执行其工作。

例如,特定类可能需要执行一些日志记录。如果您编写依赖于TextFileLogger的类,则将永远迫使该类将其日志记录写到文本文件中。如果要更改日志记录的行为,则必须更改类本身。该类与它的记录器紧密相连。

但是,如果您编写该类以依赖ILogger接口,然后为该类提供TextFileLogger,则您将完成相同的 *** 作,但是还具有更加灵活的优点。您可以随意提供任何其他类型的ILogger,而无需更改类本身。现在,班级及其记录器之间的联系松散了,您的班级更加灵活。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4958563.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-13
下一篇 2022-11-13

发表评论

登录后才能评论

评论列表(0条)

保存