我有两个类,每个类需要一个彼此的实例来运行.通常,如果一个对象需要运行另一个对象,我喜欢在构造函数中传递它.但是在这种情况下我不能这样做,因为一个对象必须在另一个之前被实例化,因此第二个对象不存在被传递给第一个对象的构造函数.
我可以通过将第一个对象传递给第二个对象的构造函数来解决这个问题,然后在第一个对象上调用setter将第二个对象传递给它,但这看起来有点笨重,我想知道是否有更好的方法:
backend = new Backend(); panel = new Panel(backend); backend.setPanel();
我从未对MVC进行任何研究; 我想我在这里处理模型(后端),以及视图或控制器(Panel).我可以从MVC获得任何见解吗?
现在是时候看看MVC了.:-)当你有一个模型 - 视图 - 控制器的情况,一致的是模型不应该知道视图控制器(MVC经常扮演M-VC),但视图总是意识到模型.
如果模型需要告诉视图某些东西,它会通过通知其侦听器来实现,它可能具有倍数.你的观点应该是其中之一.