我正在编写一个程序,我正在使用工厂模式.我有一个名为AssetFundCalculator的接口和一个名为AssetFundCalculatorImpl的类,它实现了该接口.
该AssetFundValidator类验证一些投入,并能实例化一个有效AssetFundCalculatorImpl.
我想如果程序的其余部分只知道接口,而不是AssetFundCalculatorImpl,那么只有AssetFundValidator可以实例化它.
我的包结构如下所示:
在Java中,我会将包可见性修饰符赋予AssetFundCalculatorImpl类或它的构造函数,它可以解决问题,但在Kotlin中,没有包可见性修饰符.
这个问题有方法解决吗?我不想将此代码放到单独编译的模块中,因此内部修饰符不起作用.
您可以将AssetFundValidator和AssetFundCalculatorImpl放入同一个文件中并标记AssetFundCalculatorImpl为private. 在这种情况下,只能访问同一文件中的代码(包括 )AssertFundValidator,但不能访问程序其他部分中的任何代码。
| 归档时间: |
|
| 查看次数: |
897 次 |
| 最近记录: |