Kotlin 扩展方法是开闭原则的一个很好的例子吗?

问题描述 投票:0回答:1

“开放/封闭原则”有时很难掌握,但在我看来,Kotlin 扩展方法是一个很好的例子,因为它们允许类对修改保持关闭状态,但对扩展开放。 我对原理理解正确吗?

kotlin kotlin-extension open-closed-principle
1个回答
0
投票

Kotlin 的扩展扩展了类型的功能,但它是静态解析的,没有动态函数分派。换句话说,它只是一种方便的形式来打包与接收器相关的代码。

OCP 的教科书示例是多态性。它提供了修改软件行为的能力,只需添加多态类型的新实现并替换现有的实现即可。

一个日常的例子是传递回调:

fun <T, R> f(a: String, callback: (T) -> R) {}

通过回调我们可以修改函数行为,但不能改变其逻辑。

© www.soinside.com 2019 - 2024. All rights reserved.