Evg*_*nik 1 java oop swing class
我正在制作客户管理软件.有几个JPanels上面有很多内容,不断与数据库通信.在数据库中是客户数据,产品等.
为了更快地访问数据库数据,首先我将它全部加载到自己的ArrayList中,例如ArrayList<Customer>.如果用户更改此数据,则必须在类和数据库中更改它.
由于JPanel View看起来非常"完整"(塞满其他JPanel和JTabbedPanes,切换到CardLayout),我认为最好为每个"主"JPanel创建一个自己的类并将它们全部链接起来View.
例如,JPanel的自有类Customer,其中所有客户数据都可以被看到和编辑,对于产品等
是相同的.这是有意义还是不方便?我只想这样做来外包代码并使类更清晰,尤其如此View.
有没有类似设计模式来处理这个问题?
那么你的程序是由一个子类组成的,该类是JPanel的子类,它包含对UI中使用的所有其他组件的引用?并且您想知道是否应该将该部分UI分解为其他类.
简而言之.您始终可以通过将该代码的一部分移动到新类中来将任何类分解为聚合类,并使原始类包含对新类的引用.这称为委托或Extract类重构.您可以在Martin Fowler的重构书中了解这种技术.
创建作为整个UI的一部分的其他UI(如CustomerPanel)是一种考虑它的好方法.通过这样做,您还可以分离UI的部分内容.创建这些较小的类时要小心,以将所有依赖项移动到新类.如果您想将引用传递回主UI到聚合类,那么您可能还没有完全解耦类.这应该是一个标志,要么你没有对你正在提取的类给予足够的责任,要么他们应该分享一些其他依赖.
基本上规则是如果你提取一个类,它应该没有引用回包含它的类.引用应该更多的是树而不是图.他们可以共享一个模型类,但是在视图之间创建循环是不行的.
您可能会发现这个有趣的: 摇摆的GUI指南