【发布时间】:2016-02-22 09:48:35
【问题描述】:
我正在编写一个使用工厂模式的程序。我有一个名为 AssetFundCalculator 的接口和一个名为 AssetFundCalculatorImpl 的类,它实现了该接口。
AssetFundValidator 类验证一些输入,并能够实例化一个有效的 AssetFundCalculatorImpl。
我希望程序的其余部分只知道接口,而不知道 AssetFundCalculatorImpl,这样只有 AssetFundValidator 可以实例化它。
我的包结构是这样的:
在 Java 中,我会给 AssetFundCalculatorImpl 类或它的构造函数提供包可见性修饰符,这样可以解决问题,但在 Kotlin 中,没有包可见性修饰符。
有解决办法吗? 我不想把这段代码放到单独编译的模块中,所以 internal 修饰符不起作用。
【问题讨论】: