【发布时间】:2018-06-08 07:39:19
【问题描述】:
我正在编写一个模块化程序,旨在将模块作为独立单元与核心程序结合使用。
这意味着程序在“插入”或移除新模块时完全不会中断,并且不需要更改任何其他代码以使程序在有或没有某些模块的情况下编译和执行。
我的问题是,我是否应该为所有模块中的所有变量设置公共 getter 和 setter,并公开所有方法,以便开发人员在开发自己的模块时需要访问或更改某个模块中的变量(例如)模块,他们可以这样做而无需更改访问修饰符,还是我应该重新考虑我的设计?
提前感谢您!
【问题讨论】:
-
这个问题不够清楚,只要我不知道你到底做了什么,但是我可以给你一些指导来满足你设计模块化组件的要求!
-
@msoliman 我还没有做任何事情,我在问这样我就不必再回去删除我写的所有内容了。我尝试使用反射和自定义配置文件,但发现我无处可去,而且我很可能用 Java 做所有事情。使用公共 getter、setter 和方法将是一个解决方案,但我想知道是否有更好的方法来解决这个问题。感谢您的评论!
-
您好,欢迎来到 Stack Overflow。这是一个好问题,但对于 SO 来说不是一个好问题,因为它非常广泛。你可能会被否决,但不要气馁:这个网站对某些类型的问题非常有帮助(并且对其他类型的问题有敌意)。请花一些时间阅读help pages 和其他好问题,以了解本网站的用途。
-
仅供参考,您的问题类似于stackoverflow.com/questions/565095/… 和stackoverflow.com/questions/14399929/…。请注意,这些问题收到了 7 和 16 个答案(这实际上是问题的证据:宽泛的高级问题往往会得到冗长、固执己见的答案,这本身还不错,但通常不适合 SO)。我建议您阅读这些问题和所有答案以获得更多观点。
-
@DavidS 谢谢你的链接!我看到给出的答案的唯一问题是他们专注于 OO 设计而不是模块化设计。但我确实看到这个问题有点主观,正如帮助页面所暗示的那样,这不是 SO 的用途。
标签: java modularity