我分离类似于MVC(模型,视图和控制器)的代码。查看实例化另一个视图
比方说,我有两个视图类,一个是概念上一个页面(包含很多项目),另一种是只是一个小部件(如最近的新闻列表)。
下面是我看到这样做的方法:
控制器实例两个页面和窗口小部件类,然后通过widget对象到页面中。如果页面有很多小部件,我不得不弄清楚如何通过它,而不会令人困惑。
class PageController { function foo() { Widget widget1 = new Widget(); Widget widget2 = new Widget(); Page page = new Page(widget1, widget2); } } class Page { function Page(Widget widget1, Widget widget2) { //do something with the widgets } }
页面实例化窗口小部件类。但是现在,页面类可以引用各种视图,而不必将视图放在任何地方,只要它具有适当的界面即可。
class PageController { function foo() { Page page = new Page(); } } class Page { function Page() { Widget widget1 = new Widget(); Widget widget2 = new Widget(); //do something with the widgets } }
还有其他的东西吗?
你的建议是什么?为什么?
谢谢。
请详细说明您的问题,并提供更多关于您正在努力达到的目标以及您面临的问题的更多信息。如果适用,一些代码也可以帮助回答问题。 – MickJ 2013-03-07 20:18:00