2017-03-17 54 views
1

我的程序我使用了由几个类组成的gui和核心包使用MVC模式。为了减少核心类和Gui包之间的耦合,所有类都通过协调核心包中的类Facade与Gui包进行通信。 在Gui包中,我有一个主要的Frame类,根据应用程序的“阶段”添加其他Jpanel。例如,LoginPanel在用户登录后被MenuPanel替换。所有这些面板都被声明为一个扩展JPanel的独立类。
问题是,我应该使用Gui包中的一些协调类来与核心包中的Facade协调类进行通信吗?在这个阶段,我的框架或Jpanels将消息发送到核心软件包中的协调类,我想如果它的好主意是通过Gui包来协调类,这将代表框架和其他JPanel与核心类进行通信。MVC,减少Gui和核心包之间的耦合

+0

这个问题很大程度上取决于实施细节。在某些时候,你需要对如何与代码的各个方面进行交流有一些“想法”,他们需要能够相互交流,你想要做的就是让它变得简单可以改变这些API /类的底层实现,而不需要改变使用它们的类。您可以使用各种技术,具体取决于您想要达到的目标。请记住,Swing已经是(一种类型的)MVC,但没有什么能阻止你将它再次包装到另一层 – MadProgrammer

回答

0

此回应不是关于Swing练习,而是避免耦合和增加内聚力的一般方法。

为了降低耦合, 您需要按照2个战略按标准Java没有任何框架到位:

1. Code to Interfaces instead of Concrete implementations 
2. Try to implement Factory design pattern