【发布时间】:2010-09-27 04:01:59
【问题描述】:
我有两个类,每个类都需要一个彼此的实例才能起作用。通常,如果一个对象需要另一个对象来运行,我喜欢在构造函数中传递它。但在这种情况下我不能这样做,因为一个对象必须在另一个对象之前实例化,因此第二个对象不存在传递给第一个对象的构造函数。
我可以通过将第一个对象传递给第二个对象的构造函数来解决此问题,然后在第一个对象上调用 setter 以将第二个对象传递给它,但这似乎有点笨拙,我想知道是否有更好的方式:
backend = new Backend();
panel = new Panel(backend);
backend.setPanel();
我从未对 MVC 进行过任何研究;我想我在这里处理一个模型(后端)和一个视图或控制器(面板)。我可以从 MVC 中获得什么见解?
【问题讨论】:
-
您的后端/数据层不需要知道任何关于您的表示层的信息。其实应该没有UI层的概念。让它们像这样耦合只会导致很多问题。
标签: model-view-controller language-agnostic oop