【发布时间】:2018-10-29 10:48:18
【问题描述】:
最近在我的公司,在回顾了编写重型课程的不同方法后,开始了一场辩论。
必须用 Kotlin 重写一个包含组件特定逻辑的大型 Java 类(没有任何标准的 OOP 原则)。提供的解决方案是将类别中的逻辑和类别拆分为具有内部扩展功能的单独文件到主类。
例子:
Main.kt
class BigClass {
// internal fields exposed to the extension functions in different files
// Some main logic here
}
BusinessLogic.kt
internal fun BigClass.handleBussinessCase() {
// Complex business logic handled here accessing the exposed internal fields from BigClass
}
您对此有何看法?我没有看到它在任何地方使用可能是有充分理由的,但是千行类的替代品似乎更糟。
【问题讨论】:
-
如果您可以将逻辑拆分为“类别”,那么为什么不能将其拆分为类?
-
我必须从主类传递多个引用,我主要关心的是可读性。拆分成多个文件会使代码有点难以理解