所以,我一直在试图看如何最好地构建我的代码,因为我有一种直觉感觉,在项目中,几乎每个UI类都需要传递单个对象来实现我想要的效果,肯定有更好的方法。
我正在处理的项目有一个名为“RhythmWheel”的类,它扩展了JRootPane。然后,构造函数继续创建形成RhythmWheel的所有组件。例如,它创建了
然而,
我觉得在这么多类之间传递一个主要组件是不对的。我考虑过设计模式,认为单例可能是解决方案。然而,我已经多次阅读到单例是有害的并且是一种反模式。我想MVC模式可能有所帮助,但我不确定如何在Swing中实现它。最近我发现依赖注入是一种可能的解决方案。
我有点迷失在该做什么或者是否需要做任何事情上。如果您想看一下我正在工作的代码,可以在https://github.com/vamega/RhythmWheels中查看,因此任何关于如何继续的建议都将非常好。
我正在处理的项目有一个名为“RhythmWheel”的类,它扩展了JRootPane。然后,构造函数继续创建形成RhythmWheel的所有组件。例如,它创建了
ControlPanel
的一个实例(它扩展了JPanel)并将其添加到自身中。然而,
ControlPanel
需要对在RhythmWheels中定义的许多内容有很多了解,比如当前选择的轮子数量等。目前,ControlsPanel
的构造函数需要将RhythmWheel作为参数,然后保留对其的引用。它使用此参数进行诸如应该将哪个组件JFileChooser
作为父级,以及作为将应用程序的相关状态写入XML文件的函数参数等事项。我觉得在这么多类之间传递一个主要组件是不对的。我考虑过设计模式,认为单例可能是解决方案。然而,我已经多次阅读到单例是有害的并且是一种反模式。我想MVC模式可能有所帮助,但我不确定如何在Swing中实现它。最近我发现依赖注入是一种可能的解决方案。
我有点迷失在该做什么或者是否需要做任何事情上。如果您想看一下我正在工作的代码,可以在https://github.com/vamega/RhythmWheels中查看,因此任何关于如何继续的建议都将非常好。