Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/328.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_Design Principles - Fatal编程技术网

Java 关于类分离与访问修饰符的最佳实践

Java 关于类分离与访问修饰符的最佳实践,java,design-principles,Java,Design Principles,由于我确信标题不太清楚,我将详细阐述我的问题 我目前正处于一个涉及字母识别的图像处理软件开发项目的中间。一种更原始的特征提取方法涉及存储预编译的数据文件并对其进行检查。现在,为了实现这一点,在这个过程的某个阶段,数据必须从已知的图像源编译,您和我们做了哪些工作都很好,但是数据编译的功能应该在哪里实现呢 我有一个名为featureExtraction的包,其中包含一个名为VectorAnalysis的类,该类使用预编译的数据。目前,VectorAnalysis类包含在请求时生成数据的功能,但我想将

由于我确信标题不太清楚,我将详细阐述我的问题

我目前正处于一个涉及字母识别的图像处理软件开发项目的中间。一种更原始的特征提取方法涉及存储预编译的数据文件并对其进行检查。现在,为了实现这一点,在这个过程的某个阶段,数据必须从已知的图像源编译,您和我们做了哪些工作都很好,但是数据编译的功能应该在哪里实现呢

我有一个名为
featureExtraction
的包,其中包含一个名为
VectorAnalysis
的类,该类使用预编译的数据。目前,VectorAnalysis类包含在请求时生成数据的功能,但我想将所有这些功能提取到一个单独的包中(由于还有一些其他提取方法也需要预编译数据,因此它们有自己的数据构造方法,因此拥有数据生成包似乎是合乎逻辑的)

问题在于,数据生成函数通常依赖于各自提取类中的
私有
受保护
功能

所以最终我的问题是:

在提取类中生成数据是更好的做法,还是应该打开对提取类内部工作的访问权限,以便生成方法可以从外部包访问它们


或者我忽略了其他一些完全不同的实践吗?

我不完全理解你的问题,但我会尝试回答。更好的实践是将所有功能分为许多类:每个类都有其小功能。所有类都应尽可能可重用,并具有适当的经过深思熟虑的公共接口(类的公共成员,我指的不是Java接口)。因此,您可以在任何包中作为低级和高级函数使用