Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/224.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我应该将没有任何实现的接口移动到库中吗_Java_Android_Git_Kotlin_Git Submodules - Fatal编程技术网

Java 我应该将没有任何实现的接口移动到库中吗

Java 我应该将没有任何实现的接口移动到库中吗,java,android,git,kotlin,git-submodules,Java,Android,Git,Kotlin,Git Submodules,我在一家公司工作,我们维护3个项目。 我们最近决定将一些常用代码转移到一个单独的库中。现在我们通过git子模块在所有项目中使用这个库 该解决方案非常方便,因此我们继续将通用功能移到库中,从而减轻了主要项目的负担。到目前为止,我的问题是,我是否应该将基本接口移动到此库 例如,我们有一个映射器接口,它存在于每个项目中,但没有通用的实现 看起来是这样的: interface Mapper<F, T> { fun map(from: F): T } 接口映射器{ 趣味地图(fr

我在一家公司工作,我们维护3个项目。 我们最近决定将一些常用代码转移到一个单独的库中。现在我们通过git子模块在所有项目中使用这个库

该解决方案非常方便,因此我们继续将通用功能移到库中,从而减轻了主要项目的负担。到目前为止,我的问题是,我是否应该将基本接口移动到此库

例如,我们有一个映射器接口,它存在于每个项目中,但没有通用的实现

看起来是这样的:

interface Mapper<F, T> {

    fun map(from: F): T

}
接口映射器{
趣味地图(from:F):T
}
为每一个新项目写这篇文章并不是什么大不了的事,有些东西告诉我,把它移到图书馆是一种不好的风格,但我找不到确切的解释为什么它不好。有人能指出这种方法的缺点吗


提前谢谢

你能解释一下为什么这必须是你自己的接口,而不是使用几个内置接口中的一个吗?可能主要原因是我不知道这些内置接口。你能举个例子吗?不管怎样,我说的不仅仅是地图绘制者。在我看来,如果接口实际上是从您的库中使用的,那么将其与库的其余部分放在一起是完全有意义的,即使没有实现。这实际上就是解耦模块的方法。看起来它应该只是一个普通的Kotlin函数
(F)->T